ユーザーの入力を取り込んで印刷する簡単なプログラムを書こうとしています。ユーザーが入力するまでこれを続けます"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;
}