C++使用fstream查找特定数据

标签 c++ fstream ifstream ofstream

我是 C++ 新手,需要有关 fstream 的帮助。我已经搜索和阅读但找不到此信息。

我想从 txt 文件中的特定行获取数据。

例如在一个 txt 文件中,我有:

10行11列,每列为int、char、string等。

我是否可以在不使用数组的情况下从特定的行和列中检索一个变量?

例如:如果我想从第 9 行和第 4 列检索变量。

提前致谢!

最佳答案

如果你确切地知道每一行的长度以及每一行中每一列的位置,你就可以准确地计算出你想去的地方和use seekgto position yourself .

对于以文本形式存储的数据,这种情况并不常见。您通常必须编写一个函数来执行以下操作:

  1. 打开文件
  2. 使用std::getline在文件上 N 次以从文件到达第 N 行。
  3. 将行写入 std::stringstream .
  4. std::stringstream 上使用 >>> M 次将列读入 std::string
  5. 将第 M 列从 std::string 转换为适当的数据类型。
  6. 返回转换后的第 M 列。

关于C++使用fstream查找特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863715/

相关文章:

c++ - 如何在不知道类是否为模板的情况下调用模板化成员函数?

c++ - ifstream读取错误

c++ - 从 fstream 读取整行,包括空格

c++ - 从输入文件获取字符串直到整数? C++

C++ ifstream is_open() 失败

c++ - C++局部静态变量初始化在VS2015中是线程安全的吗

c++ - 数组声明之间的区别

c++ - 是否可以将 bool T::operator < (const T& right) 等成员函数转换为 binary_function?

c++ - 用c++清除文本文件中的数据

C++,读取二进制 ifstream 时的奇怪行为