一、strtok函数函数原型: char * strtok(char * str, const char *delim);strerror函数的使用需要包含头文件string.h功能:分割字符串:根据delim参数中指定的分隔符将str字符串拆分为多个子字符串修改原始字符串:strtok函数会直接在原始字符串中插入’\0’终止符,替换分隔符的位置,因此原始字符串会被修改参数str:首次调用时传入未分割的字符串;后续调用传入NULL,表示继续分割同一个字符串delim:包含分隔符的字符串用于定义如何分割原字符串返回值成功时返回指向当前字符串的指针没有更多子字符串时返回NULL代码演示#includestdio.h#includestring.hintmain(){charch[]192.168.6.111;constchar*sep.;constchar*strNULL;charbuf[30]{0};strcpy(buf,ch);strstrtok(buf,sep);printf(%s\n,str);strstrtok(NULL,sep);printf(%s\n,str);return0;}注意事项:破坏性:strtok函数会直接修改原字符串,将其中的分隔符替换为’\0’,如果需要保留原字符串应先拷贝一份连续分隔符:多个连续的分隔符将会被视为单个分隔符,不会返回空字符串空指针处理:如果输入的str为NULL且没有前序调用,行为未定义二、strerror函数2.1 strerror函数的认识和使用函数原型:char* strerror ( int errnum );strerror函数的使用需要包含头文件string.h功能:strerror函数可以通过参数部分的errnum表示**错误码,**得到对应的错误信息,并且返回这个错误信息字符串的首字符地址strerror函数只针对标准库中的函数发生错误后设置的错误码的转换参数:errnum:表示错误码这个错误码⼀般传递的是 errno 这个变量的值在C语⾔有⼀个全局的变量叫 errno 当库函数的调⽤发⽣错误的时候就会将本次错误的错误码存放在 errno 这个变量中使⽤这个全局变量需要包含⼀个头⽂件 errno.h 。返回值:函数通过返回错误码得到错误信息的字符串的首字符地址代码演示://例1#includestdio.h#includestring.h#includeerrno.hintmain(){for(inti0;i10;i){printf(%d:%s\n,i,strerror(i));}return0;}在Windows11VS2022环境下输出的结果为://例2:#includestdio.h#includestring.h#includeerrno.hintmain(){FILE*pFileNULL;//fopen函数以读的方式打开文件,如果文件不存在,则打开失败pFilefopen(unexit.ent,r);if(pFileNULL){printf(错误信息是:%s\n,strerror(errno));return1;//错误返回}return0;}输出结果:2.2 perror函数的认识和使用函数原型:void perror ( const char * str );perror函数相当于一次将上述代码中的“printf(“错误信息是:%s\n”, strerror(errno));”完成了,直接将错误信息打印出来。perror函数打印完参数部分的字符串后,再打印一个冒号和空格,再打印错误信息。代码演示:#includestdio.h#includestring.h#includeerrno.hintmain(){FILE*pFileNULL;//fopen函数以读的方式打开文件,如果文件不存在,则打开失败pFilefopen(unexit.ent,r);if(pFileNULL){perror(错误信息是);return1;//错误返回}return0;}输出结果:完