Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Aiuto, non riesco ad aprire file?
Forum - C/C++ - Aiuto, non riesco ad aprire file?

Avatar
Faby_941 (Normal User)
Newbie


Messaggi: 12
Iscritto: 13/03/2018

Segnala al moderatore
Postato alle 10:26
Giovedì, 15/03/2018
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:

PM Quote
Avatar
Faby_941 (Normal User)
Newbie


Messaggi: 12
Iscritto: 13/03/2018

Segnala al moderatore
Postato alle 10:42
Giovedì, 15/03/2018
è ripartito e forse ho capito anche perchè..
Il file con il codice e i file da aprire devono stare nella stessa cartella?


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:56
Giovedì, 15/03/2018
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à.
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 15:37
Giovedì, 15/03/2018
ma testo è un carattere o una stringa?

Codice sorgente - presumibilmente C/C++

  1. char testo; // variabile per un carattere
  2.  
  3. char *testo; // variabile per una stringa


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:01
Giovedì, 15/03/2018
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à.
PM Quote