【发布时间】:2013-12-10 02:54:30
【问题描述】:
我将 c++ 用于 Windows 应用程序,我需要在应用程序运行时保存一些数据。由于稍后我很可能会使用 Excel 处理数据,因此我尝试将其保存为 CSV。
我在任何地方都找不到这样做的好方法。我想做的是每次我启动程序时,写下用户的名字(会被问到),换一个新行并开始一个包含模拟时间和数据值的表。我需要的是一种方法:
1) 识别应用程序启动时文件的最后一行
2) 一种在最后2行来回跳转的方式,这样我就可以同步保存时间值和数据值了。
我想做的伪代码:
read file, take last line as n
add to file, line n+1: 1
add to file, line n+2: x
add to file, line n+1: 2
add to file, line n+2: y
(etc...)
感谢您的帮助。
【问题讨论】:
-
不是为每个用户创建一个新文件,而是不断地重写同一个文件。每次需要编辑时,将整个文件读入内存,在内存中编辑需要编辑的内容,然后使用相同的保存名称将整个文件写回。
-
@nhgrif 请不要使用 cmets 来回答。考虑重写您的评论作为答案。
-
是的,创建新文件将是万一我无法以我想要的方式编辑文件的最后手段。这样做会使数据分析变得更加困难。
-
您能否提供有关该文件的更多信息?你在编辑什么部分?只有最后两行?没有其他东西被编辑过?除了最后两行还有内容吗?
-
几乎每次运行程序时,我都需要将以下方案附加到文件中:主题编号 x \n 0, 1, 2, 3, 4, 5, 6, (. ..) \n 0.1, 0.7, 1.3, 0.8, 1.9, 0.5, (...) \n 这两行都是程序获取的数据,第一行是连续的,第二行不是。我需要一种方法将一些内容附加到第 2 行、第 3 行、第 2 行,依此类推。