我正在尝试编写一个简单的程序来接收用户输入,然后将其打印出来。一直这样做,直到用户键入"done"
.
当我运行下面的代码时,我输入“01”,然后得到一个Segmentation Fault ( core dumped )
.
我认为这与getline()
,但我不知道。如果有人可以向我解释为什么它不起作用以及如何解决它,我将不胜感激。
#include <stdio.h>
#include <stdlib.h>
int main(){
char* line;
size_t size ;
size = 100;
char* done;
done = "done";
printf("0");
while ( strcmp(line, "done") != 0 ) {
printf("1");
getline(&line, &size, stdin);
printf("2");
printf("%s\n", line);
}
return 0;
}