【发布时间】:2017-05-28 07:02:01
【问题描述】:
我正在努力寻找解决方法,似乎无法在任何地方找到任何解决方案,但我想它必须是可能的。
我想逐列而不是逐行写入文件。我有一个字符串数组,在我的程序运行时会更新。字符串看起来像这样“--4---”、“1-----”、“--15---”、“----6-”等。
这些需要从左到右逐列写入文件。例如。 :
--1-------
----------
4----15---
----------
-------6--
----------
我正在使用 ofstream。我可以等到一定数量的字符串被更新,然后将它们逐行打印到文件中,但是当我有两位数字时它会变得混乱,因为必须提前更正偏移量(每个数组索引必须对齐)等.
感谢您的帮助
【问题讨论】:
-
用文本真的很难做到这一点,因为在你有整行之前你不知道在哪里放置换行符,然后这一点就没有实际意义了。我不认为您可以将列作为行写入文件,然后指示用户将显示器侧向转动?
-
文件没有列或行的概念。文件只是一个字节流。您通常所说的行只是两个
\n字符之间的文件的一部分。如果你这样看,你会发现这不能直接完成,因为列是什么?另一方面,如果您可以定义它(例如通过固定每行和每个单元格的长度),那么可以通过预先分配每一行来实现。所以这一切都归结为一件事:“列”对您意味着什么? -
似乎是一个 XY 问题,文件真的不知道“列”或“行”是什么。但是这个“当我有两位数的数字”部分暗示你可能想尝试二进制文件而不是写文本
-
如果你不知道有多少行会提前出现问题,因为你不知道要留下多少空间。一种解决方案是将每一列写入它自己的文件。或者只是将行写入文件,然后编写输入代码以从该文件中获取列。基本上没有办法正确创建所需的文件,直到你知道会有多少行。
-
你一开始就知道有多少列和行,到最后会有多少?