我正在寻找一个函数,在input之前会打印一个string。 我知道这是可能的printf和gets ,但我希望string留在input的最后一行。 输出在主线程中处理,input在由主线程启动的另一个线程中处理。
例如,这是当前的控制台窗口(我input了stop命令,'>'是前缀string):
[12:00:00] Starting server... >stop
当控制台输出一个新行时,我希望input总是在最后一行,如下所示:
[12:00:00] Starting server... [12:00:01] Server started >stop
我正在使用Embarcadero C ++ Builder XE2与Win32和VCL支持。
如何执行控制台EXEs而不产生新的控制台窗口?
C ++ windows:如何closures控制台窗口?
如何摆脱控制台窗口
将%ComSpec%从cmd.exe更改为bash.exe
了解Python中的编码和解码
编辑:我目前正在使用此代码,导致打印输出后的“>”前缀:
char buf[256]; printf(">"); gets(buf);
C ++控制台进度指示器
我怎样才能在一个像emacs或Vim的编辑器在linux中查看程序的控制台输出?
我怎么能cin和cout一些unicode文本?
Bash按正则Expression式sorting
用于windows和linux的C ++代码
你在找什么叫做异步输入/输出。
我做了什么来做到这一点是跟踪每个键被按下,并将其追加到一个字符串。
当您按下退格键时,会删除添加到字符串中的最后一个字符,而当您按下回车键时,将提交当前命令。
当输出出现时,您清除您输入的行,打印输出,然后向下移动光标并打印出您保存在字符串中的内容。
如果你愿意的话,你必须用线程做一些工作,但是我很确定我能够在没有太多努力的情况下完成大部分工作。
其他可能的资源:
C ++同时输入并输出到控制台窗口
异步windows控制台输入,同时输出
尝试滚动除最后一行以外的控制台的所有行,然后在最后一行之前将消息打印到行中(如ScrollConsoleScreenBuffer可以帮助您)。 这样的输入线将永远在它的位置。
总结以上是内存溢出为你收集整理的asynchronousinput和输出/前缀后获取input全部内容,希望文章能够帮你解决asynchronousinput和输出/前缀后获取input所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)