2016-12-08 3 views
-1

Я пытаюсь прочитать файл, который находится в том же источнике, что и мой .c-код. Я попробовал этот небольшой эскиз и ту же проблему. Что может быть неправильным? Расширение и имя файла одинаковы.FILE, fopen и т.п ... ошибка. file is NULL

#include <stdlib.h> 
#include <stdio.h> 

int main(){ 
    char caracter; 
    FILE *ARCHIVO; 
    ARCHIVO=fopen("prueba.txt", "r"); 
    if (ARCHIVO==NULL){ 
     printf("Error·"); 
    }else{ 
     while (feof(ARCHIVO)==0){ 
      caracter=fgetc(ARCHIVO); 
      printf("%c", caracter); 
     } 
    } 
    fclose(ARCHIVO); 
    return 0; 
} 

Буду очень благодарен, если кто-то может мне помочь. С уважением.

+0

Какая ошибка вы получаете? –

+1

И избегайте использования феофа. См. Http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong –

+3

Вместо printf («Ошибка.») Напишите perror («prueba.txt»), чтобы получить лучшую ошибку сообщение. –

ответ

0

У вашего файла нет разрешения на чтение, поэтому он дает ошибку.

Попробуйте следующее:

chmod a+r prueba.txt 

Это позволит устранить эту проблему. Надеюсь на это !!!