infoarena

Comunitate - feedback, proiecte si distractie => Feedback infoarena => Subiect creat de: Vali Deaconu din Ianuarie 28, 2015, 20:10:19



Titlul: Avertismente cstdin
Scris de: Vali Deaconu din Ianuarie 28, 2015, 20:10:19
Salut. Meru când folosesc funțiile specifice librăriei cstdin primesc avertismentele astea:

warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]

Îmi poate explica ce sunt sau cum se rezolvă? Știu că sunt infovensive, fiind doar niște avertismente, dar sunt curios de ce apar.


Titlul: Răspuns: Avertismente cstdin
Scris de: Savin Tiberiu din Ianuarie 29, 2015, 14:42:03
Functia freopen returneaza si o valoare de tip FILE. Basically cand dai
Cod:
freopen("ana.in", "r", stdin)
functia freopen iti intoarce un pointer la stdin in cazul in care a reusit sa deschida fisierul si null daca nu. Warningul apare din cauza ca tu ignori valoarea returnata, daca inlocuiesti codul de mai sus cu
Cod:
FILE* f = freopen("ana.in", "r", stdin)
if (f == null) {
    printf("Could not open file");
    return 0;
}

ar trebui sa nu mai apara warningu asta.