我正在寻找一个函数,它将在输入之前打印一个字符串。我知道这可能与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