如何使用文件结构?

时间:2015-08-14 13:14:02

标签: c file file-io input

我遇到一个小问题,我有当前的文件结构: 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);
}

我收到此错误:

  

无法打开inputfile.txt

但文件就在那里。 有人能帮助我吗?

(如果我将&#34; r&#34;更改为&#34; w&#34;我可以写入该文件,但我无法在我的SSD上找到该文件)< / em>的

2 个答案:

答案 0 :(得分:5)

程序将在当前工作目录中查找该文件。这很可能与编译的可执行文件位于同一目录。

如果您使用的是IDE,请检查项目设置并检查已编译的可执行文件的放置位置。然后手动将文本文件复制到该目录或编辑项目,以便构建它自动复制文件。

如果您在命令行工作(假设编译器名为gcc):

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

答案 1 :(得分:0)

包括

包括

const char FILE_NAME [] =&#34; inputfile.txt&#34 ;;

int main() {

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);

}

如果它的工作路径