您的位置:首页 > 其它

借助strtok实现split笔记

2016-03-01 12:45 232 查看
一定记住!!!

代码:

//借助strtok实现split
#include <cstring>
#include <cstdio>
#include<iostream>
using namespace std;
/**strtok 函数
定义 char *strtok(char *s,const char *delim);
strtok()将字符串分割成一个个片段。s指向要分割的字符串,delim为分割字符串,
当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为/0字符。
在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。
每次调用成功则返回下一个分割后的字符串指针。返回值返回下一个分割后的字符串指针,
如果已无从分割则返回NULL。
* @brief main
* @return
*/
int main(){
//  char s[] = "L1 L2 的区别 是什么? 是权重*稀疏,性";
string s=  "L1 L2 的区别 是什么? 是权重*稀疏,性";
const char *d = " ,*?";
char *p;
int length=s.length();
char a[length];
strncpy(a,s.c_str(),s.length());//string to char []

p = strtok(a,d);
while(p){
printf("%s\n",p);
p=strtok(NULL,d);

if(p!=NULL){// char * to string
string ps(p);
cout<<ps<<endl;
}
}
return 0;
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: