连接到外部c++;来自java进程的进程导致问题 我试图用Java.Lang.Pub来附加C++执行文件。生成exec的代码如下所示: int main(int, char**){ std::cout << "Starting Up. . . . . " << std::endl; std::string command; while (command != "exit") { std::cin >> command; } return 0; } int main(int,char**){ std::cout命令; } 返回0; }

连接到外部c++;来自java进程的进程导致问题 我试图用Java.Lang.Pub来附加C++执行文件。生成exec的代码如下所示: int main(int, char**){ std::cout << "Starting Up. . . . . " << std::endl; std::string command; while (command != "exit") { std::cin >> command; } return 0; } int main(int,char**){ std::cout命令; } 返回0; },java,c++,Java,C++,在调试过程中,我发现在进程的创建期间,进程在std::cin上停止,并希望输入值,但在下一次迭代中,它会自动获取上一个“command”std::cin值,并继续迭代“While”循环,而不会将控制返回到java进程。为什么C++可执行文件在每次迭代时都会停止在STD::CIN中?我使用Process.getOutputStream()从java传递值。如果描述有任何问题,请告诉我。谢谢,Tor.很可能没有有效的输入或模拟了某种EOF。您应该检查输入是否有错误: while ( std::cin

在调试过程中,我发现在进程的创建期间,进程在std::cin上停止,并希望输入值,但在下一次迭代中,它会自动获取上一个“command”std::cin值,并继续迭代“While”循环,而不会将控制返回到java进程。为什么C++可执行文件在每次迭代时都会停止在STD::CIN中?我使用Process.getOutputStream()从java传递值。如果描述有任何问题,请告诉我。谢谢,Tor.

很可能没有有效的输入或模拟了某种EOF。您应该检查输入是否有错误:

while ( std::cin && command != "exit" )
{
    std::cin >> command;
}