Hirdetés
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Radeon™ RX 470 / 480 és RX 570 / 580 / 590
- Házimozi belépő szinten
- Nem teljesít túl jól a kasszáknál az aktuális Xbox generáció
- Milyen Android TV boxot vegyek?
- TCL LCD és LED TV-k
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Gyorsít az egyes Zen 5 dizájnokon a legfrissebb AMD AGESA
- Milyen billentyűzetet vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
Hirdetés
-
Konkrét terv van az Altera jövőjéről
ph Nincs szó egyelőre az Intelről leválasztott részleg teljes eladásáról, de a jelenlegi felállás sem marad.
-
Készíts képet az igazi nevedből!
lo Sziasztok.Egy érdekes kísérletre hívnálak meg titeket. Mindjárt elmondom, hogy miről is van szó. A telefonomon (fold 5)...
-
Folyamatos vérnyomásmérést kínál a Huawei Watch D2
ma A klinikailag hitelesített, 24 órás, folyamatos vérnyomásmérést kínáló okosóra is Barcelonában debütál.
Ú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 skoda12 #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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Diablo 3
- AMD Radeon™ RX 470 / 480 és RX 570 / 580 / 590
- Milyen légkondit a lakásba?
- Autós topik
- Házimozi belépő szinten
- Ingatlanos topic!
- Viccrovat
- Milyen okostelefont vegyek?
- Nem teljesít túl jól a kasszáknál az aktuális Xbox generáció
- További aktív témák...
- LG OLED65C11LB Smart OLED Televízió, 164 cm, 4K Ultra HD
- Bomba ár! Fujitsu LifeBook U745 - i5-5GEN I 8GB I 256SSD I 14" HD+ I Cam I W10 I Garancia!
- HP ProBook 450 G6, 15,6" FHD IPS, I3-8145U CPU, 8GB DDR4, 256GB NVMe SSD, WIN 10/11, Számla, Garanci
- Bomba ár! Dell Latitude 5430 - i5-1235U I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I NBD Garancia!
- HP ProBook 450 G5, 15,6" HD, I5-7200U CPU, 8GB DDR4, 128GB SSD, Nvidia 2GB VGA, WIN 10/11, Számla, G
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen