【问题标题】:c++ string reading from file to vector stringc++字符串从文件读取到向量字符串
【发布时间】:2020-09-04 04:50:12
【问题描述】:

我想读取如下所示的文本文件 将所有这些字符串逐行放入一个数组中以操作以后使用的元素。 我该怎么做?

  TS1 24 12 apple
  TS2 24 15 strawberry banana kiwi

如果一切正常,我想访问的样子

 str_arr1[0] = TS1, str_arr1[2] = 12
 s_array2[0] = TS2, s_array2[5] = kiwi 

【问题讨论】:

标签: c++ string file stl


【解决方案1】:

假设你的意思是你在标题中所说的字符串向量而不是数组(固定大小),你可以通过使用文件流ifstream和字符串流来做到这一点。

#include <fstream>
#include <sstream>
#include <string>


std::ifstream input_file;
    input_file.open("text_file.txt");
    std::string line;
    std::vector<std::string> output_vector;
    while (getline(input_file, line))
    {
        std::istringstream ss_line(line);
        while(ss_line){
            std::string element;
            ss_line >> element;
            output_vector.push_back(element);
        }
    }

如果您希望每行有一个单独的向量,则可以使用 字符串向量的向量,或者如果您知道文件的行数,只需声明该向量的数量字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多