草庐IT

eclipse 中的 c++ Debug模式导致程序不等待 cin

以下代码在运行时工作正常,但在使用Eclipse以Debug模式运行时出现问题,它不等待输入而是继续运行,并且一些看似随机的值会打印到控制台。它也不会在断点处停止。intmain(){intN,Q,maxSize;cout>test;cout 最佳答案 更新从CDT9.4(EclipseOxygen.2)开始,启动配置中现在有一个复选框,可以通过单击来完成此操作。参见https://wiki.eclipse.org/CDT/User/NewIn94#Debug原始答案这里的问题是同一个stdinchannel上有两个读取器。当您执行

c++ - 可以阻止 cin 等待输入吗?

在图形应用程序中,我使用控制台输入执行调试命令。创建控制台时,还会创建一个新线程来收集处理所有输入的用户命令,图形应用程序继续并行运行。我使用boost::thread库。到目前为止它运行良好,但是我还没有找到一个很好的解决方案来停止该线程的执行。线程一直在等待用户输入:while(appRunning){std::cin>>theUserCommand;//...dostuff}然后当图形应用程序结束时,它将停止所有控制台功能,我在其中包含线程:appRunning=false;//dosomemorerelatedcleanupmyListeningThread->join();如

c++ - 在没有用户输入的情况下中断 cin while 循环

在main中,我让用户能够输入命令来停止应用程序:while(run_processes&&cin>>command_line_input){我还想通过设置run_processes=false;停止其他地方的应用程序。但是,当我将run_processes设置为false时,如果用户不输入,上述循环不会停止。如何在用户不输入的情况下正确中断循环? 最佳答案 不可能以可移植的方式中断std::cin。然而,您可以解决非可移植解决方案,例如在UNIX系统上手动poll()标准输入并在轮询时检查run_processes。

c++ - 在没有用户输入的情况下中断 cin while 循环

在main中,我让用户能够输入命令来停止应用程序:while(run_processes&&cin>>command_line_input){我还想通过设置run_processes=false;停止其他地方的应用程序。但是,当我将run_processes设置为false时,如果用户不输入,上述循环不会停止。如何在用户不输入的情况下正确中断循环? 最佳答案 不可能以可移植的方式中断std::cin。然而,您可以解决非可移植解决方案,例如在UNIX系统上手动poll()标准输入并在轮询时检查run_processes。

c++ - 使用 C++ 读取管道输入

我正在使用以下代码:#includeusingnamespacestd;intmain(intargc,char**argv){stringlineInput="";while(lineInput.length()>0){cin>>lineInput;cout使用以下命令:回显“你好”|test.exe这个结果是一个打印“Hello”的无限循环。如何让它读取并打印一个“Hello”? 最佳答案 stringlineInput;while(cin>>lineInput){cout如果您真的想要完整的行,请使用:stringlineIn

c++ - 使用 C++ 读取管道输入

我正在使用以下代码:#includeusingnamespacestd;intmain(intargc,char**argv){stringlineInput="";while(lineInput.length()>0){cin>>lineInput;cout使用以下命令:回显“你好”|test.exe这个结果是一个打印“Hello”的无限循环。如何让它读取并打印一个“Hello”? 最佳答案 stringlineInput;while(cin>>lineInput){cout如果您真的想要完整的行,请使用:stringlineIn

C++ Cout & Cin & 系统 "Ambiguous"

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭8年前。Improvethisquestion我只是在C++中编程,突然间所有的“cout”和“cin”都是错误和“模棱两可的”。包括系统。我不知道为什么会这样。一切都很好,我在同一个程序中编写了大约2个小时,然后它就……发生了。编辑我仍然可以无错误地运行程序,但它们在文本中显示为错误,即红色涂鸦线。发生了什么?我正在使用VisualStudio2013IDE,无论它附带什么。#include#include#include#inclu

C++ Cout & Cin & 系统 "Ambiguous"

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭8年前。Improvethisquestion我只是在C++中编程,突然间所有的“cout”和“cin”都是错误和“模棱两可的”。包括系统。我不知道为什么会这样。一切都很好,我在同一个程序中编写了大约2个小时,然后它就……发生了。编辑我仍然可以无错误地运行程序,但它们在文本中显示为错误,即红色涂鸦线。发生了什么?我正在使用VisualStudio2013IDE,无论它附带什么。#include#include#include#inclu

c++ - getchar_unlocked() VS scanf() VS cin

这三个输入函数在编程语言中有什么区别。他们的输入方式是否不同?1.getchar_unlocked()#definegetcxgetchar_unlockedinlinevoidinp(int&n){n=0;intch=getcx();intsign=1;while(ch'9'){if(ch=='-')sign=-1;ch=getcx();}while(ch>='0'&&ch2.scanf("%d",&n)3.cin>>n输入整数时,哪一项花费的时间最少?我在c++中使用这些头文件,其中所有3个大小写都在c++中运行;#include#include#include#include#i

c++ - getchar_unlocked() VS scanf() VS cin

这三个输入函数在编程语言中有什么区别。他们的输入方式是否不同?1.getchar_unlocked()#definegetcxgetchar_unlockedinlinevoidinp(int&n){n=0;intch=getcx();intsign=1;while(ch'9'){if(ch=='-')sign=-1;ch=getcx();}while(ch>='0'&&ch2.scanf("%d",&n)3.cin>>n输入整数时,哪一项花费的时间最少?我在c++中使用这些头文件,其中所有3个大小写都在c++中运行;#include#include#include#include#i