Linux 中的 C 分段错误(核心转储)错误


#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当前目录还是绝对路径的一部分

相关内容

  • 没有找到相关文章

最新更新