2015-08-14 3 views
-1

я с небольшой проблемой, у меня есть текущая структура файла: enter image description hereКак использовать структуру файла?

И это мой код:

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

const char FILE_NAME[] = "inputfile.txt"; 

int main() 
{ 
    FILE *in_file; /* input file */ 

    in_file = fopen(FILE_NAME, "r"); 
    if (in_file == NULL) { 
     printf("Cannot open %s\n", FILE_NAME); 
     exit(8); 
    }else{ 
     printf("File opened %s\n", FILE_NAME); 
    } 
    fclose(in_file); 
    return (0); 
} 

И я получаю эту ошибку:

Cannot open inputfile.txt

Но файл находится прямо здесь. Может кто-нибудь мне помочь?

(Если я изменяю «г» на «ш» Я могу писать в файл, но я не могу найти файл на SSD)

+0

Ваш с файл находится в той же папке как в текстовом файле? – ameyCU

+0

Эта основная функция находится внутри: ch14pexercise1.c –

+1

не имеет значения, где находится файл .c, ему нужно проверить текущий рабочий каталог. Вы можете вызвать 'getcwd', ​​чтобы понять, что f.e. –

ответ

5

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

Если вы используете IDE, проверьте настройки проекта и проверьте место размещения скомпилированного исполняемого файла. Затем либо скопируйте текстовый файл в этот каталог вручную, либо отредактируйте проект, чтобы он автоматически копировал файл.

Если вы работаете из командной строки (предполагается, что ваш компилятор называется gcc):

cd ~/Documents/programming/c/PracticalC/chapter14 
gcc -Wall ch14pexercise1.c -o prog 
./prog 
0

включают

включают

сопзЬ обугленного имя_файла [] = "inputfile.txt";

INT основной() {

FILE *in_file; /* write file */ 





in_file = fopen(FILE_NAME, "w"); 
if (in_file == NULL) { 
    printf("Cannot open %s\n", FILE_NAME); 
    exit(8); 
}else{ 
    printf("File opened %s\n", FILE_NAME); 
} 
fclose(in_file); 

/чтение файла/

FILE *in_file; /* input file */ 





in_file = fopen(FILE_NAME, "r"); 
if (in_file == NULL) { 
    printf("Cannot open %s\n", FILE_NAME); 
    exit(8); 
}else{ 
    printf("File opened %s\n", FILE_NAME); 
} 
fclose(in_file); 
return (0); 

}

Если работа Cheak путь

Смежные вопросы