[C++] Errore fgetc

di il
7 risposte

[C++] Errore fgetc

Il programma mi va in crash suquesta funzione:
int ReadString(char* FileName, char* String) {
    FILE* File = fopen(FileName, "rt");
    int i;
    for (i = 0; String[i] != '\n'; i++) {
        String[i] = fgetc(File);
    }
    fclose(File);
    return 0;
}
Forse perchè fgetc() non si può usare in C++?

7 Risposte

  • Re: [C++] Errore fgetc

    No si può usare. hai abbastanza spazio su String? il file sei sicuro che sia aperto? Non c'è nessun controllo.
  • Re: [C++] Errore fgetc

    Ho Array che è un array di 2999 caratteri. Tutte le righe del file non superano 33 caratteri. Forse l'array è troppo grande?
  • Re: [C++] Errore fgetc

    Gli errori che mi da il Debugger sono:

    0. ntdll!RtlEnumerateGenericTableLikeADirectory()
    1. msvcrt!_lock()
    2. msvcrt!getc()
    3. 0x00000000 in ??()
  • Re: [C++] Errore fgetc

    Ho provato a modificare così ma mi dà sempre errore:
     int ReadString(char* FileName, char* String) {
        FILE* File = fopen(FileName, "rt");
        int i;
        for (i = 0; ; i++) {
            String[i] = fgetc(File);
            if (String[i] == '\n' || String[i] == EOF) break;
        }
        fclose(File);
        return 0;
    }
  • Re: [C++] Errore fgetc

    Stranissimo! In un altro progetto, anche se è in C++, funziona fgetc! Che sia colpa delle OpenGL?
  • Re: [C++] Errore fgetc

    Usa il debugger e lo scopri. stai scrivendo o leggendo dove non devi.
  • Re: [C++] Errore fgetc

    Sì, avevo sbagliato a scrivere il nome del file...

    Data.txt

    al posto di

    C:\\Programmi\\CodeBlocks\\Progetti\\Progetto5\\bin\\Debug\\Data.txt (cioè tutto il percorso)

    Perchè pensavo andasse bene lo stesso.
Devi accedere o registrarti per scrivere nel forum
7 risposte