2

簡単な質問: 私は使用しています

system("mkdir /some/dest/");

私のプログラムで。プログラムを実行しているときに画面への出力を無効にする方法

実行しようとした

system("mkdir /some/dest/ > /dev/null");

しかし、うまくいきませんでした

ありがとう

4

2 に答える 2

5

それ自体がシステム コールmkdir (1)の単なるラッパーであることを考慮すると、C コードからディレクトリを作成するのは奇妙な方法です。mkdir (2)

を使用することをお勧めしmkdir (2)ます。

Psドキュメントのカテゴリ ( )(2)という意味で、これはシステム コールのカテゴリです。man$ man 2 mkdir

于 2012-11-01T11:21:47.837 に答える
3

stdout と stderr の 2 つのストリームがあります。stderrではなく、stroutのみをリダイレクトしています。

stderr も /dev/null にリダイレクトする必要があります。シェルのマニュアルを読んでください。bashでは、次のことができると思います:

mkdir /some/dest/ &> /dev/null

これは、system() を呼び出すときにエラー メッセージを非表示にする方法に関する質問に答えますが、他の回答からのアドバイス (ネイティブ C 関数 mkdir を使用) は、より C/C++ の慣用的です。

于 2012-11-01T11:20:31.790 に答える