我查找了其他有此问题的人,但似乎他们的问题是由于没有正确的大小数组或使用无效指针。
这是我正在使用的相关代码。
#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
分段错误(核心转储)
知道什么可能导致分段错误? 感谢