函数原型:html
char * strtok(char *str, const char * delim);正则表达式
注意点:数组
两个入参必须为字符串数组;安全
第一次调用要传str, delim,后面调用要传NULL, delim,传入其它的str后从新被初始化,内部是一个static的指针;函数
与之相对的一个:strtok_r();.net
函数原型:指针
int sprintf(char *str, const char *format, ...);orm
int sscanf(const char *str, const char *format);htm
用于版本号、IP等的匹配,%后面的能够用正则表达式,灵活性较强,要处理简单字符串的时候能够考虑替代使用regex.h库。blog
char buf[16]="10.150.88.34"; char a[4]="192",b[4]="168",c[4]="0",d[4]="1"; //sprintf(buf, "%s.%s.%s.%s", a,b,c,d); //printf("%s\n", buf); sscanf(buf, "%[0-9].%[0-9].%[0-9].%[0-9]", a,b,c,d); printf("%s,%s,%s,%s\n", a,b,c,d);
更深刻细致的介绍:
https://blog.csdn.net/huangxy10/article/details/8117870
https://www.cnblogs.com/rere-whh/p/7608446.html
能够使用更安全的stringstream,与getline连用:https://blog.csdn.net/sunshineacm/article/details/78068987