从带有分隔符的文件中读取并保存到c++对象中

Reading from a file with delimiters and saving into an object c++

本文关键字:保存 c++ 对象 读取 分隔符 文件      更新时间:2023-10-16

我正在为一个初学者c++类编写一个程序,该程序将从文件中读取字符串并将它们存储到一个将在vector中的对象中。该文件使用','作为分隔符,并在字符串中使用空格。我有它使用一堆getlines工作,但我想知道是否有一种方法来清理代码或可能优化它。

    while getline(ifs,s){
    string stream ss(s);
       getline(ss,str1,',');
       getline(ss,str2,',');
       getline(ss,str3,',');
    //I take these variables and pushback onto a vector using the object's
    //constructor
    }

我目前有类似的东西,但我想知道是否有更好的方法来做到这一点。我一直在研究重载提取操作符,但我认为我遇到了无法重载>>

的空白分隔符的问题。

通常,您会使用标记器来完成此操作。提振。tokenizer很棒,但对于初学者c++类,您可能想要使用strtok() http://en.cppreference.com/w/cpp/string/byte/strtok

使用strtok()对输入数据进行标记,然后遍历标记。