我有一台TF2服务器,如果我不在时更新TF2,服务器将输出:


  您的服务器已过期。请更新并重新启动。


如何使用C ++观察/读取输出?

这个想法是:

         1. if (output == "Your server is out of date. Please update and restart.")
         2. kill the application
         3. run update.bat
         4. start observing again


我的想法可行吗?

最佳答案

这基本上是看门狗。

可以使用管道解决方案:

将您的服务器输出通过管道传递到C ++应用程序的标准输入(使用cin读取即可)。例如,如果您的TF2服务器是tf2.exe,而您的C ++应用程序是cpp.exe:

tf2.exe | cpp.exe


每次重新启动服务器时,您将需要再次执行此命令(这涉及在执行此操作后退出C ++应用程序,因为它将由该命令重新运行)。

10-05 19:04