三行代码  ›  专栏  ›  技术社区  ›  Lizeth Rachel

如何将文本文件中的数据过滤成向量

c++
  •  -2
  • Lizeth Rachel  · 技术社区  · 1 月前

    我有个小程序我不知道怎么做。基本上,它是一个使用文本文件中的数据创建向量的函数,该文本文件满足其文本中的参数。

    text_in_vector("file.txt", "10")
    

    文本示例:

    Karen10, Lili12, Stacy13, Mack10
    

    矢量结果

    {"Karen10","Mack10"}
    
    1 回复  |  直到 1 月前
        1
  •  0
  •   Remy Lebeau    1 月前

    试试这样:

    #include <fstream>
    #include <vector>
    #include <string>
    #include <iomanip>
    
    std::vector<std::string> text_in_vector(const std::string &fileName, const std::string &searchStr)
    {
        std::vector<std::string> vec;
        std::ifstream inFile(fileName);
        std::string str;
        while (std::getline(inFile >> std::ws, str, ','))
        {
            if (str.find(searchStr) != std::string::npos)
                vec.push_back(str);
        }
        return vec;
    }
    

    Online Demo