我正在做“catwords|sign”(words是文本文件,sign是c程序)。然而,这似乎会产生无限循环。知道如何解决这个问题吗?
什么意思
sign < words | @sort > out
下面是c程序的代码。
int main(){
char words[80];
scanf("%s", words);
printf(words);
string_sort(words);
printf(" ");
printf(words);
printf("\n");
while ( words != ""){
scanf("%s", words);
printf("%s", words);
string_sort(words);
printf("%s", " ");
printf("%s", words);
printf("\n");
}
}
最佳答案
当程序到达 EOF 时,scanf()
使 words
保持不变,这会导致 words != ""
始终为 true。
您应该测试 feof(stdin)
,而不是测试 words
。
关于c++ - 如何使用 bash 将文本文件定向到 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887358/