首页 > 代码库 > string流

string流

使用 istreamstring 与文本行绑定之后读取元素。

struct PersonInfo
{
    string name;
    vector<string> phones;
};

int main(int argc, char const *argv[])
{
    string line, word;
    vector<PersonInfo> people;
    istringstream record;
    while (getline(cin, line))
    {
        PersonInfo info;

        record.clear();                                      // 在将line拷贝到record中之前,应调用clear()函数来使流复位。保证下一次循环时,流record的正常使用。

        record.str(line);

        //    istringstream record(line)           如果在循环内部,则不需要复位,因为每次循环都会zion个销毁和重新创建istringstream流对象 record!
        record >> info.name;
        while (record >> word)
            info.phones.push_back(word);
        people.push_back(info);
    }
    return 0;
}

string流