远飞

导航

c++ 分割字符串存入数组

今天做分割字符串想了好多种办法,存入MAP也试过了(MAP按索引取其中内容时不如vector方便),存入动态符串数组也想过了,都很麻烦,后来看了一个人的帖子,可以不用动态数组,用vector容器,用起来很方便
CString recvBuffer;//被分割的字符串
char * charpoint;
charpoint=recvBuffer.GetBuffer(recvBuffer.GetLength());
const char * split = ","; //分割符号
char * p;
p = strtok (charpoint,split); //分割字符串
vector<string> v;//定义vector容器
while(p!=NULL)
{
 v.push_back(p);//在容器尾部加入一个数据
 p = strtok(NULL,split); //指向下一个指针
}
int m=v.size();//返回容器中数据个数。
string a=v.at(8);//vector传回索引8位所指的数据,vector与数组一样,以0为开始

posted on 2013-05-14 17:32    阅读(2903)  评论(0编辑  收藏  举报