Nel mio programma C questa funzione gestirà tutto il lavoro di apertura di un file specifico e quindi restituirà il puntatore del file, in modo che le principali o altre funzioni possano leggere il contenuto usando fp, ma finora non sono stato in grado di farlo funzionare.Puntatore di ritorno dalla funzione C
Sto solo imparando la lingua, quindi è possibile che sto facendo qualcosa di molto sbagliato.
int open_text_file(char text_file_name[])
{
FILE *fp;
if((fp = fopen(text_file_name, "r")) != 0)
{
return fp;
}
else
{
printf("Cannot open file \"%s\"\n", text_file_name);
}
}
Si sta tentando di restituire un puntatore a una struttura 'FILE' come un' int'. Cosa (oltre a quell'errore) stai vedendo? –
Come un problema di stile di codifica, dovresti confrontare 'fp' con' NULL' invece di '0'. Se potrebbe anche essere più chiaro separare il compito e il confronto di 'fp' in istruzioni separate. –