2013-03-22 64 views
3

誰能告訴我什麼是使用不同std::cerrperror之間PERROR和std :: CERR使用

void perror (const char * str); 

我不知道哪一個是在C++應用程序最好和爲什麼它是理想的。

+0

[C++替代perror()]的可能重複(http://stackoverflow.com/questions/3320898/c-alternative-to-perror) – 2013-03-22 09:55:08

回答

2

你的問題基本歸結爲iostream vs stdio。類似的問題已被回答here

如果你在C++工作,除非你想做一些非常具體的事情,否則cerr絕對比perror更好。唯一的區別是,CERR幾乎相同

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

而PERROR也將加載並根據錯誤號顯示適當的錯誤消息。你也不能顯示變量,所以你不能做

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

除非你預處理你的錯誤信息。

相關問題