#include <stdio.h>
#include <stdlib.h>
struct fileIndex{
char name;
int key;
} index1;
int main(int argc, char *argv[]){
int i;
FILE *pFile;
pFile= fopen("cat/home/sysadmin/deneme.txt","r");
for(i=0; i<10; i++){
printf("%c",fgetc(pFile));
}
fclose(pFile);
}
当我想运行我的程序时,它会给出该错误。我在代码中寻找了很长时间,但没有找到任何代码。你可以帮我吗?
如果文件无法打开,这将使pFile
等于NULL
,这很容易导致fgetc()
段错误。
在尝试读取文件之前,您必须检查这一点:
if (pfile == NULL)
{
perror("Failed to open file");
exit(1);
}
将代码更改为
int i;
FILE *pFile;
pFile= fopen("cat/home/sysadmin/deneme.txt","r");
if(!pFile)
return;
另外..看起来你的文件路径放错了地方...是你的意思吗/cat/home/sysadmin/deneme.txt
cat
当前目录还是绝对路径的一部分