std::cerr
との使用法の違いを教えてもらえますかperror
void perror ( const char * str );
C ++アプリケーションではどちらが好ましいのか、なぜそれが好ましいのか疑問に思います。
std::cerr
との使用法の違いを教えてもらえますかperror
void perror ( const char * str );
C ++アプリケーションではどちらが好ましいのか、なぜそれが好ましいのか疑問に思います。
http://www.cplusplus.com/reference/cstdio/perror/
perror
とcerr
は別のものです。- は に接続されたクラスcerr
のオブジェクトです。そして、あなたの文字列をに印刷します。std::ostream
stderr
perror
errno
stderr
あなたの質問は基本的にiostreamとstdioに要約されます。同様の質問がここで回答されています。
C++ で作業している場合は、非常に具体的なことをしたい場合を除き、perror よりも cerr を使用することをお勧めします。唯一の実際の違いは、cerr がほぼ同じであることです。
fprintf(stderr, const char*, arg1, ...);
一方、perror は、errno に応じて適切なエラー メッセージを読み込んで表示します。また、変数を perror で表示できないため、実行できません
perror("Something went wrong, i: %d", i);
エラーメッセージを前処理しない限り。