while( (c = fgetc(stdin)) != EOF ){
count++;
if (count == lineLen - 1){
moreChars = (char*) realloc(line, lineLen *=2);
if(moreChars == NULL){
puts("Error allocating for moreChars.");
free(moreChars);
exit(-69);
}
else
line = moreChars;
}
line[count - 1] = c;
}
那是我的代码。我的问题是,当用户输入 (ctrl + d) 结束循环时,他们必须输入两次,即结束循环用户类型 (ctrl+d)(ctrl+d)。
样本输入:
嗨,你们好 (ctrl+d) (ctrl+d)
理想输入:
嗨,你好(ctrl+d)
为了更清楚:
我希望用户只需输入 (ctrl+d) 一次即可结束循环,并且无法弄清楚为什么用户必须输入 (ctrl+d)(ctrl+d) 才能结束循环。
谢谢。