C++ 是否可以在不覆盖输入中当前文本的情况下进行编辑?
好吧,假设我有一个程序,当用户输入信息时,它会显示一行 对于本例,假设我们正在使用代码C++ 是否可以在不覆盖输入中当前文本的情况下进行编辑?,c++,cout,cin,C++,Cout,Cin,好吧,假设我有一个程序,当用户输入信息时,它会显示一行 对于本例,假设我们正在使用代码 cout << "THIS CODE IS BEING COUTED" << endl; cout如果要逐字符获取输入,那么当需要输出文本时,可以通过打印回车号“\r”将输出位置移动到行的开头。然后,您的输出将覆盖当前输入,然后打印换行符并重新打印到目前为止输入的内容 cout << "\r" << output << "\n" <<
cout << "THIS CODE IS BEING COUTED" << endl;
cout如果要逐字符获取输入,那么当需要输出文本时,可以通过打印回车号“\r”将输出位置移动到行的开头。然后,您的输出将覆盖当前输入,然后打印换行符并重新打印到目前为止输入的内容
cout << "\r" << output << "\n" << currentinput;
cout您可以在一个主线程中使用cin>>数据
询问用户,然后通过fread
或类似的方式从另一个线程中的stdin读取数据
用户键入所需的数据后,您可以清除屏幕(例如,通过conio.h中的clrsc()
或任何其他更好的方式),并说出您想要的内容。我不确定我对cout
被“逐字逐句”的感觉如何!我想知道你是否担心调试信息会干扰你的输入。如果是这样的话,您可以使用cerr并重定向它,或者使用调试日志文件为什么您希望在用户输入某些内容时输出信息,而cout在另一个线程中?