Čo mám zle na tomto // fscanf c++

Programovacie jazyky, rady, poradňa...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Čo mám zle na tomto // fscanf c++

Príspevok od používateľa Fata! ChaoS »

Kód: Vybrať všetko

FILE *f;
f=fopen("vstup.txt","r");
int cislo;
fscanf(f,"%d",cislo);
vstup.txt
5
text
text
text
Keď pustím program, hneď sa mi zrútí a robí to fscanf, ale neviem, prečo. PLs poradte mi, zaujímavé, že fgets funguje v pohode.
Ale ja potrebujem to fscanf
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

fscanf(f,"%d",&cislo);
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Jaj, má tam byť adresa :lol: ináč ešte jedna otázka, že ENTER má nejaký znak, čo by som mohol používať na porovnávenie. Dá sa \n?

napr.
while(premenna != "\n") alebo jak by sa to malo?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To záleží odkiaľ berieš to, čo chceš porovnávať (niektoré funkcie ten znak môžu odstrániť, iné ho tam nechajú...).
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

no tak pomocou fgets chcem načítať celý riadok, lenže v buildery mi to potom ukazuje vo výpise ako taká hrubá čiara a ke´d ju dám kopírovať a prilepiť niekam, tak sa správa aj normálny ENTER, ale ja by som potreboval vedieť, či existuje nato nejaký znak? Aby som mohol porovnávať, nech načítáva znaky až kým nenarazý na ENTER.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

V tom prípade naozaj môžeš použiť znaky \n a \r (Linux používa \n, Mac \r a DOS/Windows \r\n).
Napísať odpoveď