``` perror ```
时间: 2024-05-25 20:08:54 浏览: 23
`perror`是一个函数,用于输出错误信息。它的原型如下:
```c
void perror(const char *s);
```
当程序出现错误时,我们可以调用该函数来输出错误信息,并在错误信息前面加上`s`指向的字符串。例如:
```c
if (fd == -1) {
perror("open");
exit(EXIT_FAILURE);
}
```
上面的代码中,如果`open`函数调用失败,就会调用`perror`函数来输出错误信息。输出的信息格式类似于:“open: No such file or directory”,其中“open”是我们传递给`perror`函数的字符串,后面跟着具体的错误信息。
对于输入参数`s`,如果`s`是NULL或者空串,则只输出具体的错误信息。
相关问题
perror函数使用
perror函数是C语言中标准库中的一个函数,用于将上一个系统调用的错误信息输出到标准错误流(stderr),并追加一个描述错误的字符串。
perror函数的函数原型为:
```c
#include <stdio.h>
void perror(const char *s);
```
其中,参数s是一个字符串,表示自定义的错误信息。如果s为NULL,则只输出系统调用的错误信息。
使用perror函数的方法为:
```c
if (system_call() == -1) {
perror("system_call");
}
```
以上代码表示当system_call函数返回值为-1时,输出错误信息并退出程序。如果system_call函数返回值为0,则表示执行成功,不会输出任何信息。
perror函数会自动根据全局变量errno的值输出对应的错误信息。因此,在使用perror函数之前,需要确保errno的值是正确的。通常情况下,系统调用出错时,errno的值会被设置成对应的错误码。
perror打印success
perror函数是用来将上一个函数发生错误的原因输出到标准错误输出(stderr)的。它会根据全局变量errno的值来决定要输出的错误原因字符串。如果errno的值为0,即没有错误发生,perror函数会打印"success"。\[2\]所以当perror打印"success"时,表示前一个函数没有发生错误。
#### 引用[.reference_title]
- *1* *3* [Linux/Unix C编程之的perror函数,strerror函数,errno](https://blog.csdn.net/weixin_33827731/article/details/85673045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [perror](https://blog.csdn.net/zuoside__lord/article/details/82459472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)