C语言库函数strtok()怎么使用
C语言库函数strtok()用于将字符串分割成若干个子字符串。它的使用步骤如下:
- 首先,需要包含头文件<string.h>。
- 然后,声明一个字符指针变量来接收分割后的子字符串。
- 调用strtok()函数来进行分割。函数原型为:char *strtok(char *str, const char *delim)。第一个参数是要分割的字符串,第二个参数是分割符,可以是一个字符串。
- 第一次调用strtok()函数时,需要将要分割的字符串作为第一个参数传入。后续调用时,传入NULL作为第一个参数即可。
- 每次调用strtok()函数后,返回的指针指向一个子字符串,可以通过该指针来访问该子字符串。
- 循环调用strtok()函数,直到返回的指针为NULL,表示所有子字符串已经分割完毕。
以下是一个示例代码,展示了strtok()函数的使用方法:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "This is a sample string.";
const char delim[] = " ";
// 第一次调用strtok()函数
char *token = strtok(str, delim);
// 循环调用strtok()函数处理剩余的子字符串
while (token != NULL) {
printf("%s\n", token);
// 后续调用strtok()函数
token = strtok(NULL, delim);
}
return 0;
}
上述代码会将字符串"str"使用空格作为分割符进行分割,并打印出每个子字符串。输出结果如下:
This
is
a
sample
string.
需要注意的是,strtok()函数会修改原字符串,将遇到的分隔符替换成空字符’\0’。如果不希望修改原字符串,可以使用strtok_r()函数。