掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28290

標準出力先を取得する方法についての質問
投稿者---GK(2006/10/01 14:12:14)


プログラム1からプログラム2を呼び出すとき、
プログラム1の標準出力先をプログラム2にも引き継がせるようなプログラムを組んでいるのですが、
プログラム1の標準出力先の取得の仕方が分からないためプログラム2をリダイレクトすることができなくて困っています。
何かやり方をご存知の方がいらっしゃいましたら回答をお願いいたします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:標準出力先を取得する方法についての質問 28291 YuO 2006/10/01 14:44:27
<子記事> Re:標準出力先を取得する方法についての質問 28292 かずま 2006/10/01 15:41:08


No.28291

Re:標準出力先を取得する方法についての質問
投稿者---YuO(2006/10/01 14:44:27)


掲示板利用宣言をちゃんと守って書いてください。


>プログラム1の標準出力先の取得の仕方が分からないためプログラム2をリダイレクトすることができなくて困っています。

標準Cの範囲内に方法は存在しません。


この投稿にコメントする

削除パスワード

No.28292

Re:標準出力先を取得する方法についての質問
投稿者---かずま(2006/10/01 15:41:08)


> プログラム2からプログラム2を呼び出すとき、
あるプログラムから別のプログラムを呼び出すとき、標準出力は引き継がれる
のが普通なので、リダイレクトする必要はありません。

すなわち、次のプログラムで、prog1 >file と起動した場合、
system("prog2 >file"); としなくても prog2 の出力は file になります。

--- prog1 ---------------------
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    printf("prog1\n");
    system("prog2");  // prog1 から prog2 を呼び出す。
    return 0;
}

--- prog2 -------------------
#include <stdio.h>

int main(void)
{
    printf("prog2\n");
    return 0;
}



この投稿にコメントする

削除パスワード

No.28293

Re:標準出力先を取得する方法についての質問
投稿者---かずま(2006/10/01 15:51:13)


>    printf("prog1\n");
>    system("prog2");  // prog1 から prog2 を呼び出す。

標準出力はバッファリングされているので、 system("prog2"); の前に
fflush(stdout); を入れたほうがよいでしょう。



この投稿にコメントする

削除パスワード

No.28296

Re:標準出力先を取得する方法についての質問
投稿者---GK(2006/10/02 08:44:48)


標準Cの範囲外の質問に対して回答していただきありがとうございます。
標準入出力は引き継がれるんですね。おかげで解決することが出来ました
ありがとうございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧