Kezdőoldal » Számítástechnika » Programozás » Mi okozhat fclose () függvényn...

Sonor123 kérdése:

Mi okozhat fclose () függvénynek c-ben nem nulla visszatérési értéket?

Figyelt kérdés

Volt egy hosszabb kódom, az fclose ellenőrzőm mutatta, hogy nem nulla a visszatérési értéke, ezért csináltam egy külön programot, hogy ellenőrizzem ott is, de a probléme nem javult meg.

FILE *fq;

fq = fopen("haromszog.txt", "rt");

if (fq == NULL)

printf("nyitasihiba");

fclose(fq);

if (fq != NULL)

printf("zarasihiba");

Ennyi a minimalizált program, futtatáskor kiírja, hogy zarasihiba. Mi okozhatja?



2015. nov. 26. 18:32
 1/4 anonim ***** válasza:

Azért, mert nem így működik ez.

Az fopen()-nel lefoglalsz memóriaterületet és annak a címét megkapja az fq pointer, majd mikor bezárod a fájlt, mindösszesen annyi történik, hogy felszabadítja a lefoglalt memóriát a függvény, de attól még továbbra is arra a címre fog mutatni, tehát manuálisan kell NULL értéket adnod neki. Próbáld ki, hogy megnyitás és bezárás után kiíratod ezt: printf("ptr erteke: %p\n",fq);

2015. nov. 26. 19:10
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
Ha egyszer mar megnyitottad nem lesz NULL az erteke magatol. fclose visszateresi erteke 0 ha nem volt hiba.
2015. nov. 26. 19:11
Hasznos számodra ez a válasz?
 3/4 uno20001 ***** válasza:

Dokumentáció: [link]

Hasznos dolgok vannak benne, olvass bele mielőtt kérdezel.

2015. nov. 26. 19:58
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Először talán azt kéne tisztázni mi is az a visszatérési érték.
2015. nov. 26. 22:55
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!