C++strerror_s()
时间: 2024-05-06 09:17:33 浏览: 152
`strerror_s()` 是 C/C++ 标准库中的一个函数,用于将错误码转换成对应的错误信息字符串。它的函数原型如下:
```c++
errno_t strerror_s(
char *strErrMsg,
size_t numberOfElements,
errno_t errnum
);
```
其中,
- `strErrMsg`:指向用于存储错误信息的缓冲区的指针。
- `numberOfElements`:缓冲区的大小。
- `errnum`:错误码。
函数返回值为 `errno_t` 类型的值,如果函数执行成功,返回值为 0;否则返回一个非 0 值表示错误码。
使用 `strerror_s()` 函数的示例如下:
```c++
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main()
{
char errMsg[256];
errno_t err = strerror_s(errMsg, sizeof(errMsg), errno);
if (err == 0)
{
printf("Error: %s\n", errMsg);
}
else
{
printf("Failed to get error message.\n");
}
return 0;
}
```
在上面的示例中,我们首先声明了一个 `errMsg` 数组作为存储错误信息的缓冲区,然后调用 `strerror_s()` 函数将当前的错误码 `errno` 转换成对应的错误信息字符串,并将结果存储到 `errMsg` 缓冲区中。如果函数执行成功,我们将错误信息打印到标准输出中;否则输出一个提示信息表示获取错误信息失败。
阅读全文