
Nefunguje EOF
Dobrý den,
mám menší problém s programem v jazyce C.
Ze souboru txt načítám matici a vypisuji, ovšem z nějakého pro mě neznámého důvodu tento kód nepracuje tak jak bych chtěl:
int pruchod = 0;
char znak;
while(fscanf(file, "%c", &znak) != EOF){
printf("%c", znak);
pruchod++;
}
V souboru je matice:4 5
0 0 1 1 1
0 0 1 0 1
1 0 1 1 1
1 1 1 1 1
kde 4 a 5 reprezentuje počet řádků a sloupců
jenže výpis mi dělá toto:
0 0 1 1 1
0 0 1 0 1
1 0 1 1 1
1 1 1 1 1 [zde se zobrazí divný znak]
a pak se vypíše: "Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])"
a program padne, z nějakého důvodu nefunguje podmínka pro EOF, nevíte prosím někdo co s tím?
Pokoušel jsem se i o obdobu s funkcí fgetc, ale dopadlo to stejně, prostě to padne na tom EOF.