1
私は、計算の結果を開始して出力するためのパラメータを取得するコンソールアプリケーションを持っています。コンソールアプリケーションにデータを渡して出力を処理する方法は?
例(docsから):ステップバイステップモードそれはのような作業年代に
gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370
:
gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370
[Enterキーを押し]- キーから入力しますボード:
177502 311865
[Enterキーを押します] - それは画面新しい座標上の印刷です:
244296.723070577 165937.350438393 1.60975147597492
私は、Dからだそれを呼び出す入力parametrsを通過し、そしてそれは、出力のハンドルする必要があります。
pipeShellの使用が必要なようですが、使用方法はわかりません。ここで
は私のコードです:
import std.stdio;
import std.process;
import std.file;
void main()
{
auto pipes = pipeProcess(["gdaltransform", " -s_srs epsg:4326 -t_srs EPSG:3857"], Redirect.stdout);
scope(exit) wait(pipes.pid);
}
しかし、どのように変数にgdaltransform
出力を読み、その後、アプリを終了するには?
「クローズ」と呼ばれる理由はありますか?たぶん 'フラッシュ'で十分でしょうか? – sigod
'flush'は十分であるはずですが、私のCentOS 7ではそうしてはいけません。どうしてか分かりません。たぶん 'gdaltransform'はstdioをフラッシュしないでしょう –