C 如何使用文件结构?

C 如何使用文件结构?,c,file,file-io,input,C,File,File Io,Input,我有一个小问题,我有当前的文件结构: 这是我的代码: #包括 #包括 const char FILE_NAME[]=“inputfile.txt”; int main() { 文件*in_FILE;/*输入文件*/ in_file=fopen(文件名,“r”); if(in_file==NULL){ printf(“无法打开%s\n”,文件名); 出口(8); }否则{ printf(“文件已打开%s\n”,文件名); } fclose(在_文件中); 返回(0); } 我得到这个错误:

我有一个小问题,我有当前的文件结构:

这是我的代码:

#包括
#包括
const char FILE_NAME[]=“inputfile.txt”;
int main()
{
文件*in_FILE;/*输入文件*/
in_file=fopen(文件名,“r”);
if(in_file==NULL){
printf(“无法打开%s\n”,文件名);
出口(8);
}否则{
printf(“文件已打开%s\n”,文件名);
} 
fclose(在_文件中);
返回(0);
}
我得到这个错误:

无法打开inputfile.txt

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


(如果我将“r”更改为“w”,我可以写入该文件,但在SSD上找不到该文件)

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

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

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

包括 包括 const char FILE_NAME[]=“inputfile.txt”

int main() {

/读取文件/

}


如果它工作cheak path

您的c文件与文本文件位于同一文件夹中,对吗?此主要功能位于:ch14pexercise1.cdoesn不管.c文件在哪里,他都需要检查当前的工作目录。您可以调用
getcwd
,找出文件的完整路径。还要检查准确的错误代码。一本关于C编程的书,没有解释如何使用
perror
errno
,在我看来似乎不太实用。只要我的两分钱。
#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);
}
cd ~/Documents/programming/c/PracticalC/chapter14
gcc -Wall ch14pexercise1.c -o prog
./prog
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);