如何使用perror()但将提示输出到文件

kai*_* ho 2 c c++ linux android android-emulator

我知道的一般用法perror().

但是现在,我想将其结果导出到文件中,而不是控制台.顺便说一下,我在android模拟器的adb shell下运行它.

tro*_*foe 8

strerror()改为使用:

fprintf(logfile, "Something went wrong: %s\n", strerror(errno));
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用重定向stderr到文件dup2(),然后继续使用perror().

编辑:我最初回答这个问题的时候还早,我的大脑并没有在所有气瓶上开火.有没有必要使用sprintf()其次fputs()fprintf()可以做到这一切(感谢@maverik).