PDA

View Full Version : [funzione C] apertura di un file


danny2005
10-03-2006, 16:17
L'esercizio dice:"scrivere una funzione che presa in input una stringa nomefile, apre il file di nome nomefile.

ho pensato di fare cosė.

const char *nomefile = "STUDENTI";

void aprifile(const char *); /* prototipo di funzione*/

void aprifile(char *nomefile){

extern const char *nomefile;
FILE*fp=fopen(nomefile, "r");

}

Solo che cosė non č che sia proprio una stringa in input......

Fenomeno85
10-03-2006, 16:23
L'esercizio dice:"scrivere una funzione che presa in input una stringa nomefile, apre il file di nome nomefile.

ho pensato di fare cosė.

const char *nomefile = "STUDENTI";

void aprifile(const char *); /* prototipo di funzione*/

void aprifile(char *nomefile){


FILE*fp=fopen(nomefile, "r");

}

Solo che cosė non č che sia proprio una stringa in input......

mi spieghi perchč usi sta istruzione??
extern const char *nomefile;

basta fare

void aprifile(char *nomefile){
FILE*fp=fopen(nomefile, "r");
/* mettere ovviamente tutti i controlli */
}

/*nel main */

main ()

char nomefile[20];
/* prendi il nome con le varie funzioni ... fgets ect */
aprifile (nomefile);


~§~ Sempre E Solo Lei ~§~

danny2005
10-03-2006, 16:31
Con l'extern dentro una funzione si informa che quella che si sta usando č una variabile globale

Fenomeno85
10-03-2006, 16:32
Con l'extern dentro una funzione si informa che quella che si sta usando č una variabile globale

non ci siamo .. NON SERVE

~§~ Sempre E Solo Lei ~§~

danny2005
10-03-2006, 16:40
Non serve se non usi una variabile globale; l'extern non dichiara nulla, semplicemente informa che viene usata una variabile globale....

Chiaramente per come l'hai impostata tu la cosa non serve..........

Fenomeno85
10-03-2006, 16:41
Non serve se non usi una variabile globale; l'extern non dichiara nulla, semplicemente informa che viene usata una variabile globale....

Chiaramente per come l'hai impostata tu la cosa non serve..........

se il testo ti chiede prendi :O non significa usa una variabile costante :O

~§~ Sempre E Solo Lei ~§~

danny2005
10-03-2006, 16:49
era appunto quello il mio dubbio; non sapendo se era corretto l'approccio che hai usato tu mi ero messo nel caso di una stringa costante nota a priori

Fenomeno85
10-03-2006, 17:26
i miei approcci son sempre giusti :sofico:

~§~ Sempre E Solo Lei ~§~

aik
10-03-2006, 18:01
a che ti serviva una variabile globale? :)