我正在尋找一個函數,它將在輸入之前打印一個字符串。我知道這可能與printf
和gets
,但我希望字符串留在輸入的最後一行。輸出在主線程中處理,輸入在由主線程啓動的另一個線程中處理。異步輸入和輸出/前綴後獲取輸入
例如,這是當前控制檯窗口(I輸入了stop
-command中,「>」是前綴字符串):
[12:00:00] Starting server...
>stop
當控制檯輸出一個新行,我想要的輸入要始終在底線,就像這樣:
[12:00:00] Starting server...
[12:00:01] Server started
>stop
我使用英巴卡迪諾C++ Builder的XE2與Win32和VCL支持。
編輯:我目前使用此代碼,導致「>」前綴之後,打印輸出:
char buf[256];
printf(">");
gets(buf);
您可以使用Win32 API的設置控制檯光標和寫入的位置。我對你想要的有點困惑,但你可以在光標處打印並移動它。只是在打印時,光標通常位於控制檯的底部。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686025(v=vs.85).aspx – RandyGaul 2013-05-09 16:05:47
不要因任何原因使用'gets'。改用'fgets'。 – 2013-05-09 16:18:40