【发布时间】:2011-03-23 15:29:57
【问题描述】:
我正在使用 ofstream 来编写一个 csv 文件。 目前,我正在使用“
Shape,Area,Min,Max
Square,10,2,11
Rectangle,20,3,12
我想改变它的样子
Shape,Square,Rectangle
Area,10,20
Min,2,3
Max,11,12
我知道我可以使用“
所以我正在寻找一种按顺序写的方法,例如
Shape,
Area,
Min,
Max,
然后变成
Shape,Square
Area,10
Min,2
Max,1
所以它基本上是从上到下而不是从左到右。 如何使用 ofstream 进行编码?我猜我必须使用 seekp,但我不确定如何。 非常感谢。
【问题讨论】:
-
不确定您的“不可能”断言。如果您可以包含一些代码,这将有助于形成响应。
-
这似乎是写出文件的一种非常低效的方式,它将有缓冲区或磁盘,搅动、调整大小和洗牌数据。您可能需要重新考虑您的方法并更改您的循环。
-
使用流(或文件)真的很难。您需要在代码中构建一个内部结构,以便您可以按需要的顺序序列化数据。
-
我意识到它效率低下,但为了快速解决问题,以及我学习如何在文件中移动位置的知识,我想知道。不可能的原因是因为现在代码的方式是使用 for 循环迭代一个正方形,并在正方形内进行另一次迭代以使用正方形内的不同感兴趣区域找到面积、最小值和最大值,我需要找出所有感兴趣区域的最小值、最大值和面积。