- HYTE THICC Q60: a legvaskosabb vízhűtés
- Milyen TV-t vegyek?
- Mini-ITX
- Internet Rádió építése (hardver), és programozása
- Milyen egeret válasszak?
- Hogy is néznek ki a gépeink?
- Hobby elektronika
- Milyen billentyűzetet vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- 2025-ben jöhet az Intel Panther Lake processzora
Hirdetés
-
Nincs több főgombos iPad, van helyette nagyobb Air és Pro M4 chippel
ma Frissítette táblagépes kínálatát az Apple, bemutatkozott az első OLED kijelzős modell és a mesterséges intelligenciában erős M4-es lapka.
-
Starsand Island - A Harvest Moon nyomdokaiban
gp Jövőre érkezik PC-re az anime stílusú gazdálkodós videojáték, amelyhez befutott az első előzetes.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
Új hozzászólás Aktív témák
-
VaZso
senior tag
Sziasztok!
Eddig nem programoztam C-ben. Van néhány rutin, amit meg kellene írnom, de kicsit elakadtam, ahogy sorjában haladtam velük... A kérdésem amatőrsége ebből fakadóan adott...
Maga a rutin nem tűnik bonyolultnak - egy kapott string első character-ét kell kapitalizálni.
A string, ill. visszatérési érték pointeren kersztül kerül átadásra.Amin elakadtam: a pointer aktuális helyzetén lévő adatot hogy tudom megváltoztatni?
pl. adott egy char *ptr nevű pointer, ami az "alma" szóra mutat.
Szeretném kicserélni mondjuk az m betűt n-re. A pointer az m fölé mutat. Hogy adom meg neki az n értéket úgy, hogy a többi characterhez nem nyúlok?Rosszul állok a feladathoz?
-
VaZso
senior tag
válasz Jester01 #1250 üzenetére
Eszerint ott lehet a kutya elásva, hogy nem módosítható?
*ptr = 'n'; (ill. str) hatására Segmentation fault-ot kapok...Egy ilyenem van:
char *strCapitalize(char *str) {Tehát a paraméterként kapott *str-t hiába is próbálom megváltoztatni...
Hogyan tudnám mégis valamely characterét megváltoztatni úgy, hogy nem tudom előre a string hosszát és csak ezért nem nyálazhatom végig?
-
VaZso
senior tag
Sziasztok!
Egy rövid kérdéssel szeretnék zavarni...
if-nél, ha pl. több feltétel és kapcsolatát adom meg és az első feltételnél elbukik a dolog, akkor ugye nem nézi meg a második feltételt is?
Erre gondolok pl.:
if ((c==*pattern) && (strDif(str, pattern, patlen)==-1)) ...
Fölösleges az strDif függvényt meghívnom, ha a másik feltétel úgysem teljesült...
Jól gondolom, hogy ez esetben nem hívja meg?[ Szerkesztve ]
-
VaZso
senior tag
Köszönöm a választ.
Tehát ha jól értem, balról jobbra haladva értékeli ki a feltételek igazságtartalmát és ha valahol egyértelműsödik a helyzet, dönt a végrehajtásról...Ezesetben érdekes lehet még, hogy ha vagy kapcsolat van közöttük és az első feltétel teljesül, akkor pl. a második feltételben lévő x++ nem lépteti el a pointert...
...mondjuk ez alapján pedig már rég letesztelhettem volna hülyeségek kérdezése helyett...
-
VaZso
senior tag
Sziasztok!
Kicsit megkavarodtam... Feladatom, hogy egy config fileból beolvassak különféle változókat.
Kicsit elveszettnek érzem magam abban, hogy milyen változótípus milyen tartományokban működik és akkor még fel sem merült, hogy esetleg más architektúrán mi a különbség...
Tehát:
short: 2 byte-on tárol --> 2^16-1, ill. ha az első bit az előjelbit, akkor -32768 - 32767-ig terjed.
int: 4 byte-os --> 2^32-1 ...
long: 8 byte-os --> 2^64-1 ...
float?
double?
Hogy kezeljem? Mik a határai?
Nem igazán találtam értelmes adatot.Sima C-vel próbálkozom.
-
VaZso
senior tag
válasz gygabor88 #1493 üzenetére
Upsz... még mindig nem vagyok "képben"...
Itt kicsit más értékek vannak, mint amit a gépemen tapasztaltam.
Vélhetően azért, mert ez x64-es rendszer.Mégjobban elbizonytalanodtam, hogy az egyes változóknál milyen tartományt kéne figyelnem, hogy ne csorduljon túl...
Eszerint 32-bites rendszeren a short és az int is 2 byte-os és a long 4 byte-os?
Float működése ill. határai még mindig nem tiszta...
-
VaZso
senior tag
-
VaZso
senior tag
Lehet, hogy rosszul fogom meg a dolgot, de a következő problémám támadt:
Van egy **Getlist nevezetű függvényem, ami feladata egy szövegfileból összeszedni a vesszővel elválasztott adatokat és arra beállítani a pointertömb elemeit...
Tehát egy lefoglalt memóriaterületen rendelkezésemre állnak az értékek.
A lista elemeinek pointerét a megfelelő pozícióra állítom, ill. a vesszők helyét '\0'-lal lezárom.Elviekben minden ok, de nem tudom, hogy allokáljak memóriát a pointertömbnek.
...vagyis erre gondoltam, de ez nagy hülyeségnek tűnik /mondjuk ez egy makrót hív, de elvileg ez lényegtelen/:MALLOC (*data, sizeof(char *) * cnt);
Tehát van egy *data[cnt] nagyságű pointertömböm, ennek szeretném lefoglalni a tömb egyes mutatói címének letárolásához szükséges memóriaterületet.
Hogy kéne ezt csinálnom? -
VaZso
senior tag
válasz Jester01 #1595 üzenetére
Köszi, úgy tűnik, valahogy a deklarációm nem fért össze azzal, amit csinálni akartam...
Így nézett ki: char *data[cnt];
Ugye jól sejtem, hogy a tömb elemszámának "lekérdezésére" nem igazán van jobb módszerem, mint az n+1. elemet NULL-ra állítani és erre vizsgálni?
Köszi mégegyszer, most jónak tűnik a függvényem működése.
-
VaZso
senior tag
válasz Jester01 #1601 üzenetére
Értem, ill. jól gondoltam...
Azért nem tudom előre a hosszát, mert egy fileból olvasom ki az értékeket.Annak sem lenne sok értelme, ha globális szinten tárolnám egy változóba, mert listák közül is lehet akármennyi.
Ez lett belőle:
int ptLen(char **data) {
if (!data)
return 0;
int i=0;
while (data[++i])
;
return i-1;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Lejtőre került a streaming
- Android alkalmazások - szoftver kibeszélő topik
- Politika
- Elektromos rásegítésű kerékpárok
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Telekom mobilszolgáltatások
- HYTE THICC Q60: a legvaskosabb vízhűtés
- Nincs több főgombos iPad, van helyette nagyobb Air és Pro M4 chippel
- Milyen TV-t vegyek?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- További aktív témák...
- ASRock Phantom Gaming RX 5700 XT - eladó!
- ÚJ Bontatlan MacBook Pro 14 M3 Pro 11CPU/14GPU 18GB/512GB SSD Magyar billentyűzet Azonnal átvehető.
- BONTATLAN Új Iphone 15 PRO MAX 256-512GB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- OLED65GX6LA 2 Év gyári Garancia
- LG OLED55G39LA 2 Év gyári garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen