C语言查缺补漏(十六)strtok()的使用

忽略点十六:strtok()的使用

​ 在ACM中,常常使用字符串函数诸如:strlen求字符串长度,strcpy字符串复制,strcmp字符串比较,strcat字符串追加等等,但忽略了一个特别重要的函数——strtok()

char* strtok(char* str, const char* delimiters);

​ 它用于将字符串str用分隔符delimiters分为更短的字符串。delimiters是含多个字符的字符串,其中每个字符都是一个独立的分隔符。如\n\t\n\t都是分隔符。

​ 需要注意!!strtok函数会改变源字符串str,返回值指向第一个由非分隔符字符的指针的分割片段;之后每次调用,都要把NULL作为第一个参数,如果调用成功就会返回下一个分割片段,如果已经到达str的末尾则会返回NULL

​ 具体使用如下:

char s[55] = "hello,My name is Ivan,I'm fifteen years|old";
char s1[5] = ", |";
char *p = strtok(s, s1);  //利用s1中分隔符将s分隔开
printf("%s\n", s);	//输出hello
printf("%ld\n", strlen(s));	//输出5,代表s只剩分隔符分隔后的第一块
while (p != NULL) {
    printf("%s\n", p);
    //循环输出每一块
    //分别为hello,My,name,is,Ivan,I'm,fifteen,years,old
    p = strtok(NULL, s1);	//循环的使用方法
}

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢!

猜你喜欢

转载自blog.csdn.net/Ivan_zcy/article/details/82960264
今日推荐