C++ 读取文件并提取字符串

c++ read file and extract string

本文关键字:提取 字符串 文件 读取 C++      更新时间:2023-10-16

我有一个名为 fruit 的文件.txt像这样

apple 2 in place A
banana 3 in place B
peach 4 in place C
what is the total?

然后我想使用 c++ 逐行读取此文件,但我只想要水果名称和编号并省略其他信息。例如,第一行,我想读"苹果"并写入string name[i]并读取 2 并写入 int num[i]并省略"在位 A"。将此过程保留到最后,但也要省略最后一行"总数是多少"。允许使用以下标头:<iostream>, <fstream>, <sstream>, <iomanip>, <string>, <cstdlib>.

那么如何在C++中实现这一点呢?

您可以使用

std::getline将每一行存储到一个字符串中。对于每一行,创建一个从该行读取的字符串流。使用>> 运算符两次来获取前两个"标记",即字符串和数字(>>读取直到空格)阅读C++文档和旧的堆栈溢出问题,如果您需要学习如何使用字符串流和getline

这是一个代码片段,扩展了@js-sol的答案

  std::string line;
  while (std::getline(infile, line)) {
    std::istringstream ss(line);
    std::string name;
    int num;
    ss >> name >> num;
    // do something with name and num                                                                                                                          
  }

编辑:我想,你的问题类似于这个:逐行读取文件