5

std::cerrとの使用法の違いを教えてもらえますかperror

void perror ( const char * str );

C ++アプリケーションではどちらが好ましいのか、なぜそれが好ましいのか疑問に思います。

4

2 に答える 2

3

http://www.cplusplus.com/reference/cstdio/perror/

perrorcerrは別のものです。- は に接続されたクラスcerrのオブジェクトです。そして、あなたの文字列をに印刷します。std::ostreamstderrperrorerrnostderr

于 2013-03-22T09:56:34.020 に答える
2

あなたの質問は基本的にiostreamとstdioに要約されます。同様の質問がここで回答されています。

C++ で作業している場合は、非常に具体的なことをしたい場合を除き、perror よりも cerr を使用することをお勧めします。唯一の実際の違いは、cerr がほぼ同じであることです。

fprintf(stderr, const char*, arg1, ...);

一方、perror は、errno に応じて適切なエラー メッセージを読み込んで表示します。また、変数を perror で表示できないため、実行できません

perror("Something went wrong, i: %d", i);

エラーメッセージを前処理しない限り。

于 2013-03-22T10:00:34.447 に答える