如何将输入发送到连续循环中?(C++)

如何将输入发送到连续循环中?(C++),c++,loops,while-loop,C++,Loops,While Loop,我有一个问题,假设我有一个连续的while循环,里面有一个变量x,用于一些计算。如何在键盘上输入一个输入来改变循环中的变量x而不停止C++中的循环? 谢谢您的最佳选择可能是多线程,第二个线程可能会等待键盘 有关实现的详细信息,请参阅boost/c++: 您的最佳选择可能是多线程,第二个线程可能会等待键盘 有关实现的详细信息,请参阅boost/c++: 如果您在Windows中,可以使用GetAsyncKeyState。请参阅:。但是,如果您不是,这显然不起作用:如果您在Windows中,则可以使

我有一个问题,假设我有一个连续的while循环,里面有一个变量x,用于一些计算。如何在键盘上输入一个输入来改变循环中的变量x而不停止C++中的循环?
谢谢

您的最佳选择可能是多线程,第二个线程可能会等待键盘

有关实现的详细信息,请参阅boost/c++:
您的最佳选择可能是多线程,第二个线程可能会等待键盘

有关实现的详细信息,请参阅boost/c++:
如果您在Windows中,可以使用GetAsyncKeyState。请参阅:。但是,如果您不是,这显然不起作用:

如果您在Windows中,则可以使用GetAsyncKeyState。请参阅:。但是,如果您不这样做,这显然是行不通的:

如果您运行的是linux,最好的选择是使用。图书馆也被一些人使用,但我没有这方面的经验。不需要多线程。

如果您运行的是linux,最好使用。图书馆也被一些人使用,但我没有这方面的经验。多线程不是必需的。

如果是用户软件,我会选择smichaud提到的多线程方法。如果它是一个工具,性能不是问题,那么您可以连续读取文件并从外部更改该文件,因为这是最简单的实现。

如果它是用户软件,我会选择smichaud提到的多线程方法。如果它是一个工具,而性能不是问题,那么您可以连续读取文件并从外部更改该文件,因为这是最简单的实现。

您需要非阻塞键盘输入。我认为这是非常依赖操作系统的,所以你应该指定你正在使用的平台。你能不能不只是检查某种键盘缓冲区,或者中断循环?你想要非阻塞键盘输入。我认为这是非常依赖操作系统的,所以你应该指定你正在使用的平台。你能不能不只是检查某种键盘缓冲区,或者中断你的循环?但是信号呢?我不能使用信号来更改已经运行的循环中的变量吗?当然,您可能可以使用SIGALRM来轮询键盘,但为什么不从循环中轮询键盘呢?但是信号呢?我不能使用信号来更改已经运行的循环中的变量吗?当然,您可以使用SIGALRM轮询键盘,但为什么不从循环中轮询键盘呢?