0

ゲーム サーバー用の単純なハンドラーを作成したいと考えています。コンソールを直接読み取り、必要なアクションを実行します。しかし!サーバーからの出力を 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 を待ちますが、何も渡されませんでした..しかし、なぜですか?

4

2 に答える 2

0

あなたのプログラムはstderrデータを出力するために使用するかもしれません。

で置き換えjampded.exe | yourprogram.exeてみてくださいjampded.exe 2| yourprogram.exe

于 2013-06-12T11:44:16.770 に答える