strerror&perror使用
【摘要】 总结: strlen -求字符串长度的库函数 strcpy-字符串拷贝函数 strcat - 字符串(连接)追加函数 strncpy() - 字符串拷贝函数-可控制拷贝的字符个数 strncat() - 字符串追加函数 strncmp() - 字符串比较函数 strstr - 字符串查找函数 strtok - 字符串切割 memcpy()-内存拷贝函数 memmove-内存拷贝函数(可处理...
总结:
strlen -求字符串长度的库函数
strcpy-字符串拷贝函数
strcat - 字符串(连接)追加函数
strncpy() - 字符串拷贝函数-可控制拷贝的字符个数
strncat() - 字符串追加函数
strncmp() - 字符串比较函数
strstr - 字符串查找函数
strtok - 字符串切割
memcpy()-内存拷贝函数
memmove-内存拷贝函数(可处理重叠的内存拷贝)
memcmp:内存比较函数
memset - 内存设置函数
strerror-可以返回C语言内置的错误码对应的错误信息
perror - 打印自定义内容+strerror
错误信息报告函数
strerror-可以返回C语言内置的错误码对应的错误信息
返回错误码对应的错误信息
参数传错误码,翻译成错误信息,返回的是错误码对应的错误信息的字符串的首字符地址
C语言库函数调用失败的时候,会把错误码存储到errno变量中
#include<string.h>
int main()
{
printf("%s\n",strerror(0));
printf("%s\n",strerror(1));
printf("%s\n",strerror(2));
printf("%s\n",strerror(3));
return 0;
}
打印结果:
No error
Operation not permitted
No such file or directory
No such process
应用:
int main()
{
FILE* pf = fopen("test.txt","r");
if(pf == NULL)
{
printf("%s\n",strerror(errno)); //C会把错误码放到errno变量,打印错误码对应的错误信息
}
else
{
printf("打开成功\n");
}
return 0;
}
//fopen():打开文件的函数,如果打开成功,返回指向该文件的文件指针FILE* 如否则返回NULL
//r:只读方式打开
由于我们没有此文件:所以打印结果
No such file or directory
perror - 打印自定义内容+strerror

string:自定义字符
int main()
{
FILE* pf = fopen("test.txt", "r");
if (pf == NULL)
{
perror("测试");
perror("测试:\n");
perror("\n");
}
else
{
printf("打开成功\n");
}
return 0;
}
打印结果:
测试: No such file or directory
测试:
: No such file or directory
: No such file or directory
如果perror中有内容,先打印内容,然后自动在后面加上冒号: 然后打印错误信息
缺点:不想打印时也打印了

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)