将格式化字符串分成较小的字符串

时间:2014-04-09 17:09:46

标签: c++ string text-files

我将学生列表存储在文本文件中。每个学生的主要数据都存储在一行中,并将其列表作为第二行存储,其中类由','分隔。它就像Mathematics,Linear Algebra,Physical Education Adv, Optics,。如果我把它读成一个字符串,我怎么能把它分开,所以temp1会得到数学,temp2线性Algera等等??

2 个答案:

答案 0 :(得分:0)

使用 strtok 功能 - 使用此页面参考http://www.cplusplus.com/reference/cstring/strtok/

虽然起初可能看起来很难使用,但它非常有效

答案 1 :(得分:0)

如果你需要一个可以使用std :: string和std :: vector的强大的随时可用的函数:

using namespace std;
vector<string> splitString(const string &str, const string &delim)
{
    size_t start = 0, delimPos = 0;
    vector<string> result;
    do
    {
        delimPos = str.find(delim, start);
        result.push_back(string(str, start, delimPos-start));
        start = delimPos + delim.length();
    } while(delimPos != string::npos);
    return result;
}

我实际上是从我的剪切库中取出来的;)