【发布时间】:2022-10-20 17:36:28
【问题描述】:
我有一个关于:如何使用 C 语言从顺序创建的数据文件创建 csv 文件的问题。
使用 C 程序,我制作了几个 printf 值。程序的输出被重定向到一个文件:./myprog >> file.txt
所以文件是这样的:
0.8952
0.89647
0.3658
!!!
0.258633
0.233655
0.25475
!!!
0.5895
0.54785
0.695555
!!!
等等
不同的维度用“!!!”分隔
我想要的结果是:
0.8952;0.258633;0.5895
0.89647;0.233655;0.54785
0.3658;0.25475;0.695555
我尝试使用二维数组来这样做,但因为我在 evevy 之间有大约 100 000 行“!!!”我有一个分段错误。 double myTab[100000] [100000]。
如果您有想法,非常感谢。 此致
【问题讨论】:
-
你对
malloc的指针和动态分配了解多少,最重要的是,关于重新分配realloc? -
@Gerardh - 啊,好地方!
-
顺便说一句,输入文件中有多少个
!!!-delimited“节”?它是变化的还是总是一样的?有没有办法事先知道可能有多少个部分?与“列”的数量相同,所有文件是否总是相同的?在单个文件中总是相同? -
谈论实现:是否有理由需要将所有表元素累积在一个数组中?因为只要我有数据,我就会简单地写入文件:换行符? --> 在分号后面加上数字。包含
!!!的行? --> 输出文件中的换行符。 -
@RobertoCaboni 如果您仔细查看预期结果,您将无法做到这一点。
!!!...!!!之间的行进入同一列。不在同一行。