总结:

strlen -求字符串长度的库函数

strcpy-字符串拷贝函数

strcat - 字符串(连接)追加函数

strncpy() - 字符串拷贝函数-可控制拷贝的字符个数

strncat() - 字符串追加函数

strncmp() - 字符串比较函数

strstr - 字符串查找函数

strtok - 字符串切割

memcpy()-内存拷贝函数

memmove-内存拷贝函数(可处理重叠的内存拷贝)

memcmp:内存比较函数

memset - 内存设置函数

strerror-可以返回C语言内置的错误码对应的错误信息

perror - 打印自定义内容+strerror

错误信息报告函数

strerror-可以返回C语言内置的错误码对应的错误信息

image-20220209221527615


返回错误码对应的错误信息

参数传错误码,翻译成错误信息,返回的是错误码对应的错误信息的字符串的首字符地址

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

image.png

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中有内容,先打印内容,然后自动在后面加上冒号: 然后打印错误信息


缺点:不想打印时也打印了


image.png