Почему файл меняется на ноль, когда я пытаюсь его прочитать? - PullRequest
1 голос
/ 18 января 2020

Я пытаюсь прочитать файл, который существует в папке моего проекта. Но когда я хочу получить строку в нем, данные файла изменяются на (ноль). Я пробовал и "w" и "r", но ни один из них не работал. Вот мой код:

    FILE* f;
    if (!(f =fopen("a.txt", "r"))) {printf("Could not open file\n"); return;}
    char s[10000];
    fgets(s, 10000, f);
    printf("%s", s);

Вывод:

(null)
  • Примечание: При открытии файла нет ошибок .

вот файл после открытия

Редактировать: вот полная версия моего кода:

    FILE* channelfile;
    char filename[100] , name[]="hi";
    sprintf(filename, "./Resources/Channels/%s.cyko", name);

    if (!(channelfile =fopen("hi.cyko", "r"))) {printf("Could not open file\n"); return;}
    char s[10000];
    fgets(s, 10000, channelfile);
    printf("%s", s);

cyko - это мой тип файла (он не является общим)

the file destination the original text file

Ответы [ 2 ]

3 голосов
/ 18 января 2020

Файл содержит текст (null), как показано на вашем скриншоте.

В результате при печати содержимого файла печатается (null).

QED.

2 голосов
/ 25 января 2020

Поскольку за этим вопросом следят несколько человек, я теперь сообщу им о результате:

После объяснения того, как использовать отладчик для OP, он смог обнаружить, что проблема не в код, который он опубликовал, но скорее в другой части своего проекта.

Он предположил, что код, который он разместил, был ответственным за проблему, потому что он испытал проблему только после изменения кода, который он опубликовал. Однако, кажется, что это изменение только вызвало ошибку; Сама ошибка была в другой части программы.

...