string 按照指定字符分割


int main()
{
    string line,b;
    getline(cin,line);
    stringstream ss(line);
    while(ss>>b) {
        cout<<b<<endl;
    }
    
}

string讀取某一行,然后按空格分隔吹每一個string

 

char str[] = "now#the tiger is coming#please run away";
char delims[] = "#";
char *result = NULL;
 
result = strtok( str, delims );
 
while( result != NULL )
{
    printf( "result is \"%s\"\n", result );
    result = strtok( NULL, delims );
}

字符分割

void split(string &str, string delimit, vector<string>&result) {
    size_t pos = str.find(delimit);
    str += delimit;//將分隔符加入到最后一個位置,方便分割最后一位
    while (pos != string::npos) {
        result.push_back(str.substr(0, pos));
        str = str.substr(pos + 1);//substr的第一個參數為起始位置,第二個參數為復制長度,默認為string::npos到最后一個位置
        pos = str.find(delimit);
    }
}
int main() {
    string str;
    string delimit;
    while (cin>>str)
    {
        cin >> delimit;
        vector<string> result;
        split(str, delimit, result);
        for (int i = 0; i < result.size(); ++i) {
            cout << result[i] << ' ';
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM