c++ - 如何只读取最后一行的开头?
问题描述
我想创建一个程序来创建一个包含 N 个对象的类数组,其中 N 是从我的 CSV 文件中读取的最后一个对象的编号。
我的 CSV 文件是这样分隔的:
serial_number;name;surname;gender;phone_number;e-mail
我曾经seekg
走到最后一行的末尾,但我不知道如何在向后阅读时忽略前4个分隔符,只读取序列号。
解决方案
我想制作一个程序来创建一个包含 N 个对象的类数组,其中 N 是从我的 csv 文件中读取的最后一个对象的编号。
如果您为文件中的每一行创建一个对象,您应该只读取每一行,一次一个。然后为该行创建对象并将其添加到列表中。您不需要确定对象的数量。相反,您创建对象直到到达文件末尾。
如果你坚持从最后一行开始解析数据,最好的办法还是一次一行读取整个文件。扔掉除了最后一行之外的所有内容,然后解析它以获得您想要的数据。不要试图从文件末尾向后退。
推荐阅读
- python - xml xpath和python中的嵌套
- javascript - 使用 Column 的 react-bulma 组件导致意外令牌
- vb.net - 将 OpenPOP 附件转发到 SMTP (System.Net.Mail)
- javascript - 将字符串转换为日期对象 javascript 返回不正确的日期
- python - 在零和一的矩阵中找到 1 的位置 (i, j) 的最佳方法是什么?
- python - 从 CSV 文件更新 Django 数据库中的值时如何使用 update_or_create
- node.js - MONGODB+Node上的认证问题
- list - LiteDB - 通过 List.contains 查找数据对象
- c++ - 如何在 if 语句中最好地测试和解包 std::optional
- scala - 创建一个Fat jar来打包多个jar