我是 C++ 新手,需要有关 fstream 的帮助。我已经搜索和阅读但找不到此信息。
我想从 txt 文件中的特定行获取数据。
例如在一个 txt 文件中,我有:
10行11列,每列为int、char、string等。
我是否可以在不使用数组的情况下从特定的行和列中检索一个变量?
例如:如果我想从第 9 行和第 4 列检索变量。
提前致谢!
最佳答案
如果你确切地知道每一行的长度以及每一行中每一列的位置,你就可以准确地计算出你想去的地方和use seekg
to position yourself .
对于以文本形式存储的数据,这种情况并不常见。您通常必须编写一个函数来执行以下操作:
- 打开文件
- 使用
std::getline
在文件上 N 次以从文件到达第 N 行。 - 将行写入
std::stringstream
. - 在
std::stringstream
上使用>>>
M 次将列读入std::string
。 - 将第 M 列从
std::string
转换为适当的数据类型。 - 返回转换后的第 M 列。
关于C++使用fstream查找特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863715/