我的exe没有向logfile (jampded.exe)传递任何内容
My exe does not pass anything to logfile (jampded.exe)
我想为我的游戏服务器创建一个简单的处理程序。它将直接读取控制台并采取我想要的任何操作。但是!我无法将服务器的输出传递到我的exe或txt。
ping google.com > ping.log
它工作得很好,一切都会记录在我的日志文件中。我还创建了一个exe,它可以这样读取输出数据:
ping google.com | my.exe
它也工作正常,我的exe的内容是:
#include <iostream>
#include <windows.h>
using namespace std;
int main() {
string input = "";
while(cin) {
getline(cin, input);
cout << input << endl;
};
system("pause");
}
它逐行显示所有内容。
问题在于jampded.exe。如果我用批处理文件启动它,它在控制台窗口中有输出,但我不能将其传递给我的日志文件或my.exe。我不知道。
我在我的代码中放置了cout-s,因此它显示它被困在while循环中。Getline等待cin,但是没有传递任何消息。但是为什么呢?
你的程序可以使用stderr
来输出数据。
尝试用jampded.exe 2| yourprogram.exe
代替jampded.exe | yourprogram.exe
我不熟悉jampded,但通常情况下,服务器将向控制台输出一些启动消息,然后将自己与控制台输入/输出分离,因此它可以在后台运行。任何进一步的消息都可以写入日志文件。
您可以使用命令行或配置文件选项启动,以保持向控制台写入。或者您可以读取日志文件。(为此,我通常使用gnuwin32文件utils中的"tail.exe -f")
在google上快速搜索一下也会发现有一个非专用服务器版本叫做jam .exe。对于测试目的,它可以提供更大的灵活性来捕获输出。
相关文章:
- 如何从Windows控制台调用.exe(C++)以在不同的目录(或任何目录)中创建文件夹?
- 是否有任何内置的哈希图函数来处理 c++ 中的值输入?
- std::任何只用于移动的模板,其中副本ctor内的static_assert等于编译错误,但为什么
- Windows 上的 Clang/LLVM 7 和 8 多次初始化内联静态数据成员(使用 link.exe 和 lld-
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- "... already defined in *.obj"但我没有在同一范围内两次定义任何变量
- CLR dll 无法运行托管 DLL,除非它位于 exe 目录(或其子目录)内
- C++ 中是否有任何内置阶乘函数?
- 如何在C++中接收任何类型的函数参数并获取函数内传递变量的类型?
- 是否有任何内置函数可以告诉编译器分支是否可预测
- 我需要在C /C#中使用图形.我可以使用任何内置的C /C#库
- 是否有任何内置类可以处理C 中的大整数值
- c ++中是否有任何内置功能可以在计划的时间运行任务
- 是否有任何内置的 UTF 在 c++ 在窗口中
- 在VC++2010中执行任何内置的ARRAY函数
- C++:如何在不使用任何内置函数的情况下将字符串转换为整数
- 是否有任何内置的CUDA函数允许CUDA内核向主机代码报告错误?
- 我如何在常数时间(O(1))内获得字母表(1-26)中字符的数值/位置,而不使用任何内置方法或函数
- C++中的任何内置哈希方法
- c++库中的任何内置夹子方法