gpt4 book ai didi

java - 从导致问题的 Java 进程附加到外部 C++ 进程

转载 作者:行者123 更新时间:2023-11-28 08:00:59 24 4
gpt4 key购买 nike

我正在尝试使用 java.lang.process 附加 C++ 可执行文件。构建 exec 的代码如下:

int main(int, char**){

std::cout << "Starting Up. . . . . " << std::endl;
std::string command;

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

return 0;
}

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

最佳答案

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

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

关于java - 从导致问题的 Java 进程附加到外部 C++ 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com