C++ 如何获取要记录的内部错误消息?

C++ 如何获取要记录的内部错误消息?,c++,c,C++,C,我正在使用perror: perror("Error message:"); 当使用上述命令时,它将显示传递给字符串的消息,后跟发生的实际错误。这是一个标准函数,但是我想将其记录到一个文件中,如何获取与此相关的实际错误以便记录它?您可以使用以下代码: #include <stdio.h> #include <stdlib.h> #include <errno.h> int main() { FILE* filePtr;

我正在使用perror:

perror("Error message:");

当使用上述命令时,它将显示传递给字符串的消息,后跟发生的实际错误。这是一个标准函数,但是我想将其记录到一个文件中,如何获取与此相关的实际错误以便记录它?

您可以使用以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>


int main() {
    FILE* filePtr;
    filePtr  = fopen (logFilePath, "a");
    //...
    //some code
    //...
    
    if(critical_part){
        fprintf(filePtr, "errno :%s Error in critical part - line 123\n",strerror(errno));
    }
    
}
#包括
#包括
#包括
int main(){
文件*filePtr;
filePtr=fopen(logFilePath,“a”);
//...
//一些代码
//...
if(关键部分){
fprintf(filePtr,“errno:%s关键部分错误-第123行”,strerror(errno));
}
}

使用
fprintf()
strerror()
errno
@Shawn添加答案?