Oppure

Loading
15/03/18 9:26
Faby_941
Ciao a tutti ragazzi, rieccomi qui con un altro problema:(

Qualche giorno fa avevo problemi ad aprire un file di testo in C, ma poi ce l'ho fatta.
Stamattina riuscivo ad aprirli normalmente, ma a un certo punto il programma ha iniziato a darmi messaggio di errore.
Vi scrivo il codice:

FILE *pf;
int bDisattivaPrel[5000];
char testo;
int contabDisattivaPrel=0;
printf("\n\ncome si chiama il file di testo con la colonna bDisattivaPrel? ATTENZIONE, DOPO IL NOME AGGIUNGERE .TXT \n\n";);
scanf("%s", &testo);
pf=fopen(&testo ,"r";);
if(pf)
{
while(!feof(pf))
{
fscanf(pf,"%d\t" ,&bDisattivaPrel[contabDisattivaPrel]);
contabDisattivaPrel++;
}
fclose(pf);
}
else {
printf ( "errore durante l'apertura del file" ) ;
}

fino a 1 ora fa andava, ora salta l'if ed entra nell'else.. stampandomi a schermo "errore durante l'apertura del file"..


Cosa può essere?

Grazie mille:asd::asd:
aaa
15/03/18 9:42
Faby_941
è ripartito e forse ho capito anche perchè..
Il file con il codice e i file da aprire devono stare nella stessa cartella?

aaa
15/03/18 9:56
nessuno
Intanto non deve essere

pf=fopen(&testo ,"r";);

ma

pf=fopen(testo ,"r";);

e poi deve essere nella cartella dove sta l'eseguibile o devi indicare il percorso completo.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
15/03/18 14:37
Mikelius
ma testo è un carattere o una stringa?

char testo; // variabile per un carattere
 
char *testo; // variabile per una stringa
aaa
15/03/18 19:01
nessuno
In effetti non ci avevo fatto caso, lo ritenevo scontato ... deve essere una stringa, ad esempio

char testo[100];
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.