从.exe读取输入并写入.exe以读取象棋引擎命令 我整天都在寻找一个C++程序,它将使用准备好的exe文件作为输出字符串,然后等待标准输入,再打印输出等等。 P>例如,我的C++程序将使用标准输出来将“UCI”写入.exe程序,.exe程序将再次用一个字符串来回答,我将在C++程序中读取它,并且我将再次发送一个新的字符串,并等待.exe .< /p>的答复。

从.exe读取输入并写入.exe以读取象棋引擎命令 我整天都在寻找一个C++程序,它将使用准备好的exe文件作为输出字符串,然后等待标准输入,再打印输出等等。 P>例如,我的C++程序将使用标准输出来将“UCI”写入.exe程序,.exe程序将再次用一个字符串来回答,我将在C++程序中读取它,并且我将再次发送一个新的字符串,并等待.exe .< /p>的答复。,c++,pipe,exe,interaction,C++,Pipe,Exe,Interaction,我发现了一些关于管道的东西,但我认为它们真的很难理解。有什么现成的库/接口我可以使用吗?或者你能给我举一个关于管道的例子吗?如果你想使用更大的框架,Qt中有一个易于使用的类来处理流程: 在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子: 如果您开放使用更大的框架,Qt中有一个易于使用的类来处理流程: 在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子: 如果您开放使用更大的框架,Qt中有一个

我发现了一些关于管道的东西,但我认为它们真的很难理解。有什么现成的库/接口我可以使用吗?或者你能给我举一个关于管道的例子吗?

如果你想使用更大的框架,Qt中有一个易于使用的类来处理流程:

在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子:

如果您开放使用更大的框架,Qt中有一个易于使用的类来处理流程:

在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子:

如果您开放使用更大的框架,Qt中有一个易于使用的类来处理流程:

在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子:

如果您开放使用更大的框架,Qt中有一个易于使用的类来处理流程:

在windows上,您可以使用CreateProcess/CreatePipe,但代码将更加冗长。例子:
如果你只知道C++的基础知识,你就应该遵循它,因为它不需要任何外部LIBs,虽然有些人说系统是邪恶的,但如果它没有进入生产级程序

,那就没问题了。
int main()
{
   std::string in;
   while(std::cin >> in)
   {
      std::string cmd = std::string("/full/path/to/second.exe <") + in + " >outfile.txt";
      system(cmd.c_str());
      std::ifstream fin("outfile.txt");
      std::cout << fin;
   }   
}
intmain()
{
std::字符串输入;
而(标准::cin>>中)
{
std::string cmd=std::string(“/full/path/to/second.exe outfile.txt”;
系统(cmd.c_str());
std::ifstream fin(“outfile.txt”);

STD::CUT< P>如果你只知道C++的基础知识,你应该遵循它,因为它不需要任何外部LIBs,虽然有些人说系统是邪恶的,但如果它不进入生产级程序

,那就没问题了。
int main()
{
   std::string in;
   while(std::cin >> in)
   {
      std::string cmd = std::string("/full/path/to/second.exe <") + in + " >outfile.txt";
      system(cmd.c_str());
      std::ifstream fin("outfile.txt");
      std::cout << fin;
   }   
}
intmain()
{
std::字符串输入;
而(标准::cin>>中)
{
std::string cmd=std::string(“/full/path/to/second.exe outfile.txt”;
系统(cmd.c_str());
std::ifstream fin(“outfile.txt”);

STD::CUT< P>如果你只知道C++的基础知识,你应该遵循它,因为它不需要任何外部LIBs,虽然有些人说系统是邪恶的,但如果它不进入生产级程序

,那就没问题了。
int main()
{
   std::string in;
   while(std::cin >> in)
   {
      std::string cmd = std::string("/full/path/to/second.exe <") + in + " >outfile.txt";
      system(cmd.c_str());
      std::ifstream fin("outfile.txt");
      std::cout << fin;
   }   
}
intmain()
{
std::字符串输入;
而(标准::cin>>中)
{
std::string cmd=std::string(“/full/path/to/second.exe outfile.txt”;
系统(cmd.c_str());
std::ifstream fin(“outfile.txt”);

STD::CUT< P>如果你只知道C++的基础知识,你应该遵循它,因为它不需要任何外部LIBs,虽然有些人说系统是邪恶的,但如果它不进入生产级程序

,那就没问题了。
int main()
{
   std::string in;
   while(std::cin >> in)
   {
      std::string cmd = std::string("/full/path/to/second.exe <") + in + " >outfile.txt";
      system(cmd.c_str());
      std::ifstream fin("outfile.txt");
      std::cout << fin;
   }   
}
intmain()
{
std::字符串输入;
而(标准::cin>>中)
{
std::string cmd=std::string(“/full/path/to/second.exe outfile.txt”;
系统(cmd.c_str());
std::ifstream fin(“outfile.txt”);


STD::这里可以找到一个命名管道的例子:这里共享内存:你正在谈论进程间通信。当前的C++标准只承认多个线程,而不是进程。所以你需要的不仅仅是C++。这里可以找到命名管道的例子:这里共享内存:你在谈论int。当前的C++标准只承认多个线程,而不是进程。所以,您需要的不仅仅是C++。这里可以找到命名管道的例子:这里共享内存:您正在讨论进程间通信。当前的C++标准只承认多个线程,而不是进程。所以您需要。不仅仅是C++。这里可以找到命名管道的例子:这里共享内存:你正在谈论进程间通信。当前的C++标准只承认多个线程,而不是进程。所以,你需要的不仅仅是C++。您的程序正在等待foo.exe程序的回复,对吗?之后,当您调用exe.readAll()时,您将获得foo.exe在发送后生成的字符串uci命令/?Yes,waitForReadyRead()将阻止,直到可以从foo.exe读取新数据,而不是readAll()为止读取所有可用数据。太好了!我需要将整个Qt库包含到我的项目中吗?我的意思是,我可以像opencv一样使用包含Qt库和lib文件等吗?它不仅仅是头文件。你必须将你的应用程序链接到Qt5Core库。嗯,你的示例似乎和我需要的一样简单。因此,当你调用waitForReadyRead()时您的程序正在等待foo.exe程序的回复,对吗?之后,当您调用exe.readAll()时,您将获得foo.exe在发送后生成的字符串uci命令/?Yes,waitForReadyRead()将阻止,直到可以从foo.exe读取新数据,而不是readAll()为止读取所有可用数据。太好了!我需要将整个Qt库包含到我的项目中吗?我的意思是,我可以像opencv一样使用包含Qt库和lib文件等吗?它不仅仅是头文件。你必须将你的应用程序链接到Qt5Core库。嗯,你的示例似乎和我需要的一样简单。因此,当你调用waitForReadyRead()时您的程序正在等待foo.exe程序的回复,对吗?之后,当您调用exe.readAll()时,您将获得foo.exe在发送后生成的字符串uci命令/?Yes,waitForReadyRead()将阻止,直到可以从foo.exe读取新数据,而不是readAll()为止读取所有可用数据。太好了!我需要将整个Qt库包含到我的项目中吗?我的意思是,我可以像opencv和lib文件一样使用包含Qt库吗?它不仅仅是头文件。你必须将你的应用程序链接到Qt5Core库。嗯,你的exa