匹配文本文件中的行与起始标识符

时间:2017-06-05 20:27:56

标签: c++ file

所以我对此感到有点难过,我正在阅读包含两种类型的包含数据的行的文件,它们由一个数字后跟一个逗号启动。我需要一种方法,以便将具有相同起始数字的行匹配到一行并输出。我怎么才能开始?

1 个答案:

答案 0 :(得分:1)

我通过分两行阅读每一行来做到这一点:逗号之前的东西,以及之后的东西。

然后我将map(或unordered_map)的逗号前面的值作为键,其余的作为与之关联的值。

std::map<std::string, std::string> data;

std::string key, value;

while (std::getline(infile, key, ',')) {
    std::getline(infile, value);
    data[key] += value;
}

然后(大概)你想要写出值:

for (auto const &v : data)
    std::cout << v.first << ":" << v.second << "\n";