誰能告訴我什麼是使用不同std::cerr
和perror
之間PERROR和std :: CERR使用
void perror (const char * str);
我不知道哪一個是在C++應用程序最好和爲什麼它是理想的。
誰能告訴我什麼是使用不同std::cerr
和perror
之間PERROR和std :: CERR使用
void perror (const char * str);
我不知道哪一個是在C++應用程序最好和爲什麼它是理想的。
你的問題基本歸結爲iostream vs stdio。類似的問題已被回答here。
如果你在C++工作,除非你想做一些非常具體的事情,否則cerr絕對比perror更好。唯一的區別是,CERR幾乎相同
fprintf(stderr, const char*, arg1, ...);
而PERROR也將加載並根據錯誤號顯示適當的錯誤消息。你也不能顯示變量,所以你不能做
perror("Something went wrong, i: %d", i);
除非你預處理你的錯誤信息。
http://www.cplusplus.com/reference/cstdio/perror/
perror
和cerr
是不同的東西。 cerr
- 是與stderr
連接的std::ostream
類的對象。並perror
打印errno
和您的字符串在stderr
。
[C++替代perror()]的可能重複(http://stackoverflow.com/questions/3320898/c-alternative-to-perror) – 2013-03-22 09:55:08