我正在学习 C,我尝试构建一个输出自己源代码的程序。这是我的来源:
#include <stdio.h>
int S = 512;
int main(){
FILE * fp;
fp = fopen("hello.c","r");
char * line = (char *) malloc(S);
int i = 0;
while (i == 0)
{
i = feof(fp);
printf("%s",line);
fgets(line,S,fp);
}
fclose(fp);
}
我使用了 tcc 编译器并得到了这个输出:
但是请注意,我在 #include
之前有一个连字符。其余输出是正确的。
所以有人可以解释为什么我有这个连字符吗?
最佳答案
您在阅读任何内容之前打印第一行。
#include <stdio.h>
int main(){
FILE *fp = fopen("hello.c", "r");
char line[256];
while (fgets(line, sizeof line, fp) != NULL)
printf("%s",line);
fclose(fp);
return 0;
}
关于c - 为什么我在文件开头有一个连字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26829352/