导致eof导致分段错误的Fgets

时间:2016-04-21 12:43:22

标签: c

我查找了其他有此问题的人,但似乎他们的问题是由于没有正确的大小数组或使用无效指针。

这是我正在使用的相关代码。

#include <stdio.h>
void Printcommands()
{
    FILE * commandfile;
    char str[256];
    if ((commandfile = fopen("commands.txt", "r")) != 0) //Open the commands file in read mode
    {
        while (fgets(str, 256, commandfile) != 0) //While there are still more commands to be processed in the script file
        {
          printf("Content: %s\n", str); //Print line from file
        }
        fclose(commandfile); //Close command file
        return; //return
    }
    else //Issue opening file
    {
        perror("Error opening commands.txt: "); //Print out error
        return;
    }
}


int main(int argc, char **argv)
{
  Printcommands();
  return 0;
}

以下是commands.txt文件的内容

  

/ bin中/ LS
  ASDF
  ASD

这是我的输出

  

内容:/ bin / ls

     

内容:asdf

     

内容:asd

     

分段错误(核心转储)

知道什么可能导致分段错误? 感谢

0 个答案:

没有答案