是否可以在不覆盖输入中的当前文本的情况下进行 cout
Is it possible to cout without overwriting current text in the input?
好的,假设我有一个程序,当用户可能正在输入信息时,它会发出一行。
对于此示例,假设我们正在使用
cout << "THIS CODE IS BEING COUTED" << endl;
假设在我们的示例中,用户正在键入输入,并且目前他们只输入了"hello",但尚未按 Enter 键。
就目前而言,当执行该行时,用户将看到"你好这个代码正在被淘汰"并且将为他们提供一个新行来输入信息。
我想做的不是 cout'ing,而是获取当前输入中的文本,将其从输入中删除,删除需要 cout'ed 的行,然后将信息重新输入到输入中。
这有意义还是一堆混乱的废话?
感谢您的阅读。
编辑:澄清:我希望它,如果我在我的输入中输入了一个字符串并且我 cout,cout 将显示在我的输入上方,而不是将其插入到我的输入之外。我还希望我的输入不受影响,以便用户可以继续键入或删除已输入的内容。
如果要逐个字符获取输入字符,那么当您需要输出文本时,您可以通过打印回车符"\r"将输出位置移动到行首。然后您的输出将覆盖当前输入,然后打印换行符并重新打印到目前为止输入的内容
cout << "r" << output << "n" << currentinput;
如果输出短于输入,则只会部分覆盖输入,在这种情况下,您可以使用最大为当前输入长度的空格填充输出
您可以在一个主线程中询问用户,并在那里cin >> data
,并通过fread
或类似的东西从另一个线程中的 stdin 读取数据,该数据适用于FILE*
句柄。
用户输入所需的数据后,您可以清除屏幕(例如,通过conio.h
clrscr()
或任何其他更好的方式)并找出您想要的内容。
相关文章:
- 文本文件中的单词链表
- 从命令行c++发送文本文件名
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 调用 cout 时如何在结构中输出常量文本?
- 带有 std::cout 的多线程控制台文本动画
- 在 cout 中将线条表单文件与自定义文本组合时出现问题
- 我想使用 "cout" 命令慢慢打印文本,但我真的找不到任何解决方案
- 输出使用 cout 转换为 ASCII 的文本时输出格式不正确,C++
- 如何使用 cout 将文本右对齐
- 十六进制数组 cout 到文本文件失败
- Cout 不会打印文本而没有 endl 在循环中?
- 将cout值写入文本文件
- 是否可以在不覆盖输入中的当前文本的情况下进行 cout
- 将输出文本与 cout 对齐到右侧
- 如何在不使用cout/printf的情况下输出文本在cpp和c中
- 在 C/C++ 中将输出外壳流(cout 或 printf)显示到文本视图小部件 (GTK+ 3)
- 对cout或文本文件使用C++流
- 如何在按下回车键后使用cout打印文本
- 如何使cout在页面满后停止输出文本?