PDA

Visualizza la versione completa : [C] Problema con Xcode e i FILE


flavio26
29-11-2013, 10:43
Buongiorno a tutti! Sono nuovo del forum! Spero che qui qualcuno possa aiutarmi!
Sto studiando il linguaggio C all'università! Programmo utilizzando un iMac con installata l'ultima versione di Xcode, ovvero la 5.0.2.

Il mio problema è che compilando un semplice programma per leggere un file di testo (.txt) Xcode mi ritorna questo errore 22993
Penso sia un problema legato al puntatore a FILE, come se non vedesse il puntatore!
Forse sbaglio quando creo il file..non so dove inserirlo con Xcode

Grazie

oregon
29-11-2013, 11:00
Quando fai la fopen controlli che il puntatore restituito sia valido ? (diverso da NULL)?

flavio26
29-11-2013, 11:06
Avevo dimenticato di metterlo! Ho controllato che il puntatore sia valido e mi restituisce il messaggio di errore.

FILE *fp = fopen(file, "r");
if(fp == NULL){
printf("Non posso aprire il file\n");
}

}

oregon
29-11-2013, 11:12
Quindi fallisce la fopen?

flavio26
29-11-2013, 11:14
Si esatto! Secondo me sbaglio a creare il file! Quindi Xcode non lo vede!
Ti posto il codice del mio programma!

#include <stdio.h>#define MAX 100


int lettura(char file[], int vett[]);


int main(void)
{
char file[MAX];
int vett[MAX], dim, i;

printf("Inserisci il file da aprire: ");
scanf("%s", file);

dim = lettura(file, vett);

for(i = 0; i < dim; i++)
printf("%d ", vett[i]);
return 0;
}


int lettura(char file[], int vett[])
{
int i = 0;
FILE *fp = fopen(file, "r");
if(fp == NULL){
printf("Non posso aprire il file\n");
}
else
while (!feof(fp)) {
fscanf(fp, "%d", &vett[i]);
i++;
}
fclose(fp);

return i;
}

oregon
29-11-2013, 11:38
In questo codice non viene mai creato il file ...

flavio26
29-11-2013, 11:43
Io volevo creare a parte il file e poi farglielo leggere

oregon
29-11-2013, 11:48
"A parte" in che senso ? Nel tuo programma ? Con altri programmi ?

flavio26
29-11-2013, 11:50
Con un semplice editor! Poi inserisco il nome del file e il programma lo legge! Non posso in questo modo?

oregon
29-11-2013, 12:56
Sì ... evidentemente il percorso non è quello giusto.

Loading