簡単な質問: 私は使用しています
system("mkdir /some/dest/");
私のプログラムで。プログラムを実行しているときに画面への出力を無効にする方法
実行しようとした
system("mkdir /some/dest/ > /dev/null");
しかし、うまくいきませんでした
ありがとう
それ自体がシステム コールmkdir (1)
の単なるラッパーであることを考慮すると、C コードからディレクトリを作成するのは奇妙な方法です。mkdir (2)
を使用することをお勧めしmkdir (2)
ます。
Psドキュメントのカテゴリ ( )(2)
という意味で、これはシステム コールのカテゴリです。man
$ man 2 mkdir
stdout と stderr の 2 つのストリームがあります。stderrではなく、stroutのみをリダイレクトしています。
stderr も /dev/null にリダイレクトする必要があります。シェルのマニュアルを読んでください。bashでは、次のことができると思います:
mkdir /some/dest/ &> /dev/null
これは、system() を呼び出すときにエラー メッセージを非表示にする方法に関する質問に答えますが、他の回答からのアドバイス (ネイティブ C 関数 mkdir を使用) は、より C/C++ の慣用的です。