#include <string.h>strtok:(字符串分割函数)传入一个空间,传入一个字符串;只能分割可变的字符串;第一个 是要分割的字符串{前提是这个字符串一定是可变的,可更改的字...
#include <string.h>
strtok:(字符串分割函数)传入一个空间,传入一个字符串;只能分割可变的字符串;
第一个 是要分割的字符串{前提是这个字符串一定是可变的,可更改的字符串;空间是可变的};第二个参数是分隔符;
- char *p=" hell wo de";//无法分割;
- char p[64]="i am so bad man";char *ret =strtok(p," ");//分隔符为空格;printf("%s",ret);
- //打印出 i
- //如果想继续分割后边的字符串 如 am
- //则再次调用strtok;
- //只不过传参要传空
- ret = strtok(NULL," ");
- //传空 表示 继续分割之前的字符串
- //传的不是空,表示分割新的字符串
- //原理是将分隔符换成'\0';如果被分割的不为可变,那么分隔符,将不能替换成尾零,程序会报错;
完全分割;分割字符串中所有的字符;
- #include <stdio.h>
- #include <string.h>
- int main(){
- char but[] ="hello,welcome to qianfeng!";
- char *p=buf;
- while(1){
- p= strtok(p,", ");
- if(!p)
- break;
- printf("%s",p);
- p=NULL;
- }
- return 0;
- }
- //这样,它会以每一个逗号或者空格作为分隔符;
//分割出来的字符串,不仅仅是可以打印出来,它也可保存到其他字符串数组中,可以再声明一个字符串数组: char * jie[5]={};int i;jie++ = p;
学员评论