C++ -- string分割

#include "cocos2d.h"
#include <iostream>
#include <vector>
using namespace std;

std::vector<std::string> split2(std::string str, std::string pattern)
{
    std::string::size_type pos;
    std::vector<std::string> result;
    //擴展字符串以方便操作
    str+=pattern;   
    int size=str.size();
    
    for(int i=0; i<size; i++)
    {
        pos=str.find(pattern,i);
        if(pos<size)
        {
            std::string s=str.substr(i,pos-i);
            result.push_back(s);
            i=pos+pattern.size()-1;
        }
    }
    return result;
}


int main(int argc, char *argv[]) {
    
    string str = "HTTP/1.1 200 OK\r\nServer: Apache-Coyote/1.1\r\nContent-Type: application/json;charset=UTF-8\r\nTransfer-Encoding: chunked\r\nDate: Mon, 02 Feb 2015 05:30:40 GMT\r\n\r\n\n";
    string pattern = "\n";
    
    std::vector<string> v = split2(str, pattern);
    
    std::vector<std::string>::iterator it = v.begin();
    for (; it != v.end(); it++) {
        std::string oneLine = *it;
        CCLOG("%s\n",oneLine.c_str());
    }

}

//結果

Cocos2d: HTTP/1.1 200 OK

Cocos2d: Server: Apache-Coyote/1.1

Cocos2d: Content-Type: application/json;charset=UTF-8

Cocos2d: Transfer-Encoding: chunked

Cocos2d: Date: Mon, 02 Feb 2015 05:30:40 GMT

Cocos2d: 

Cocos2d: 

Cocos2d: 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章