多輸入我有以下的C程序:運行程序
#include<stdio.h>
main()
{
char buf[64];
gets(buf);
printf("Your input: %s\n", buf);
gets(buf);
printf("Your input: %s\n", buf);
}
我想將數據發送到使用管道或重定向程序。問題在於程序不會等待第二個輸入新數據。
e.g
$ echo "a" | ./test
輸出:
Your input: a
Your input: a
如何發送讓程序等待在每個用戶輸入使用管道或重定向得到。 P.S我沒有持續寫入/ proc/$ pid/fd/0,我不必更改代碼。
任何幫助,將不勝感激。
1.)不要使用'gets()'。 2.)嘗試'scanf(「%64s」,buf);' 這可以防止緩衝區溢出。可能有更好的解決方案。只是我的第一個想法,你可以使用。 – Enkelli
謝謝,但我不必更改代碼。 –
你不想改變它嗎?或者你不能?對不起,我沒有讀到最後一句話。但我仍然不明白這意味着什麼。 我的第一個答案 - 這不是解決方案,只是一些提示。 – Enkelli