#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define MAXLINE 512
main(int argc,char* argv[]){
FILE *fi;
fi=open(argv[1],"r");
char linie[MAXLINE],*p;
for (; ;) {
p = fgets(linie, MAXLINE, fi);
linie[MAXLINE-1] = '\0';
printf("%s", linie);
}
fclose(fi);
};
你好, 我有这样的代码,基本上就是我想要做的是打印在命令行参数给出文件创建一个C源,可能有人请告诉我为什么我得到一个分割11错? 谢谢分段故障11
你可以检查*,其中*你得到一个分段错误?这可以通过例如查看来自'valgrind。/ yourprogram'的痕迹来完成。 –
那么这个循环看起来有点可疑。 – austin
也许你的'fi = open(argv [1],“r”);'产生了一个NULL文件指针? @austin:是的循环是可疑的,但它只会循环,而不是崩溃。 – wildplasser