Kezdőlap › Fórumok › Programozás › fscanf es space
- This topic has 4 hozzászólás, 3 résztvevő, and was last updated 20 years, 8 months telt el by
montressor.
-
SzerzőBejegyzés
-
2004-10-13-14:03 #1977639
Mit értesz sztring alatt? Biztosan nem azt, mint a C nyelvet létrehozók. Az fscanf (fp, „%s”, str); valóban csak a szóközig olvas, de a %s nem az idézõjelek („) közötti részt jelöli, hanem a beolvasás adatformátumát. Egyébként a szöveges fájlban nincsenek szringek, mert az egész egy karakterhalmaz. Ha az idézõjelek közötti részt akarod beolvasni, akkor az fgets() függvényt (esetleg az fgetc()+while is szóba jöhet) használd, majd ki kell szedni belõle a két idézõjel közötti részt.
Ha esetleg komplex beolvasás kell, akkor arra ott a yacc (flex).
2004-10-13-14:44 #1977640Egyébként a szöveges fájlban nincsenek szringek, mert az egész egy karakterhalmaz. Ha az idézõjelek közötti részt akarod beolvasni, akkor az fgets() függvényt (esetleg az fgetc()+while is szóba jöhet) használd, majd ki kell szedni belõle a két idézõjel közötti részt.
nem idezojelek kozul akarok szoveget kiszedni.
a file szerkezete ilyen:gipsz,jakab,titulus,barmimas
az fscanf(fd,”%s”,&var) kiszed egy teljes sort, de csak akkor, ha a sorban nincs szokoz, mert akkor ahogy Te is irtad, leall, es a kov beolvasasra szedi be a sor hatramarado reszet.
Nekem az kene, hogy a teljes sort a new line karakterig szedje ki… Van erre opcio az fcanf-hez?
Azert megnezem az fgets-et i, megneztem ez kell: New line-ig vagy eof ig olvas koszonom2004-10-13-15:03 #1977641Nekem az kene, hogy a teljes sort a new line karakterig szedje ki… Van erre opcio az fcanf-hez?
[align=right][snapback]89559[/snapback][/align]Nincs, de nincs is értelme. Az fgets() függvényt találták ki erre. Ha egyenként akarod beolvasni, akkor a „%s” helyett használhatsz „%s,”-t is, bár így az utolsó problémásan lesz beolvasva. Persze ha csak négy adat van egy sorban, akkor a „%s,%s,%s,%s” a megfelelõ minta.
2004-10-14-06:32 #1977642Nincs, de nincs is értelme. Az fgets() függvényt találták ki erre. Ha egyenként akarod beolvasni, akkor a „%s” helyett használhatsz „%s,”-t is, bár így az utolsó problémásan lesz beolvasva. Persze ha csak négy adat van egy sorban, akkor a „%s,%s,%s,%s” a megfelelõ minta.
[align=right][snapback]89562[/snapback][/align]Ezek szerint ha az „%s,%s,%s,%s” helyett, ha a converzios karakterek koze „mintakat” teszek, akkor a kozul olvassa a valtozoba az ott levo dolgot: ugy ertem:
„Ittaszoveg%sEzavege” minta kiszedi az „Ezaszoveg”-et az „IttaszovegEzaszovegEzavege” kozul?Az fgetset kiprobaltam, tokeletesen mukodik:) Ejj sokat kell meg tanulnom
2009-12-04-19:56 #1876448Hali!
Az fscanf-el szeretnek beolvasni filebol, de ha a stringben space van akkor addig olvas. Hogy lehet rabirni, h a space-t is kozonseges karakternek kezelje?
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz