PDA

View Full Version : [C] differenza tra close e fclose


drunkenpenguin
26-08-2010, 10:35
mi sono imbattuto, scrivendo il mio primo programma in c, in un dubbio...che differenza c'è tra close(FILE *stream) e fclose(FILE *stream)?

cito come esempio il mio "hello world", che funziona solo con close:

#include <stdio.h>

void main(int argc, char *argv[]){

FILE *fp;
char *ciao="ciao mondo";

fp=fopen("ciao!","w");

fprintf(fp, "%s\n", ciao);

close(fp);
}

clockover
26-08-2010, 13:44
che differenza c'è tra close(FILE *stream) e fclose(FILE *stream)

La funzione close non chiude un puntatore, ma un descrittore! Quindi correttamente è
close(int file_ds)
mentre fclose è corretto

Leggi qui
http://www.manpagez.com/man/2/close/
e qui
http://www.manpagez.com/man/3/fclose/

drunkenpenguin
26-08-2010, 14:32
grazie mille

kwb
26-08-2010, 15:54
Un po' OT: mazza ma come primo programma già gestione dei file?? :eek:

drunkenpenguin
27-08-2010, 10:54
really, gran parte dell'esame è in c++ ma ci hanno messo un po' di c per la programmazione di sistema:D