目录
一、strtok函数
函数声明:
void* strtok(char* str, char* sep);
包含头文件:
<string.h>
函数意义:
1.strtok函数根据分隔符切割字符串并打印。
2.从函数声明中可以看出,该函数有两个参数,第一个参数是需要切割的字符串,第二个参数就是第一个参数中包含的分隔符。
3.第一次调用strtok函数时,它的第一个参数是字符串地址,据此找到第一个分隔符,将第一个分隔符替换成 '\0' ,打印出第一个分隔符前的字符串,并记下第一个分隔符的地址;在继续读取字符串时,strtok的第一个参数是NULL,函数从第一个分隔符的位置继续向后读取,直到读到第二个分隔符,之后重复操作。
4.当字符串被读取完毕后,strtok返回NULL。
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[] = "hello,how are you?I'm fine";
char arr2[] = ",?";
char* p = strtok(arr1, arr2);
while (*p != NULL)
{
printf("%s\n", p);
p = strtok(NULL, arr2);
}
return 0;
}
运行结果:
二、strerror函数
函数声明:
char* strerror(int err);
包含头文件:
<string.h>
函数意义:
当库函数被错误使用时,会返回一个错误码(保存在全局变量errno中),strerror将这个错误码作为参数,返回相应的错误信息。
实例:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<limits.h>
int main()
{
char* str;
str = (char*)malloc(INT_MAX);
printf("%s\n", strerror(errno));
return 0;
}
运行结果: