我们已经得到一个文本文件,其中包含按排序顺序排列的1000万个整数。需要在C中编写一个程序来将这些数字转换并写入一个单独的文件。要使用哪种数据结构以及如何在内存中复制这样庞大的数据?而对于倒序,我应该使用fseek还是存储在一些数据结构中,然后反转? 请帮忙。读取文件,将其翻转并将其写入另一个文件
0
A
回答
2
如果您想在基本桌面系统上运行此功能,除了(动态)阵列以外不需要特殊的数据结构。
只是为例如最初有1,000个数字,startl加载,并在分配大小用完时加倍。这将增加该数组像这样:
1,000 -> 2,000 -> 4,000 -> 8,000 -> 16,000 -> 32,000 ->
64000 - > 128000 - > 256,000 - > 512,000 - > 1,024,000
所以它会做10个呼叫realloc()
这确实应该罚款。
一旦您在数组中有数字,只需向后循环并将每个数字打印到输出文件。
当然,您可以使用这样的事实,即您知道有一百万个数字对您有利,并且适当地设置了初始大小。
1
我建议使用固定大小的缓冲区(文件系统的块大小),并从文件末尾读取块,然后将其写入新文件,向后读取缓冲区。
这样你就不必realloc
任何缓冲区(这是一个代价高昂的操作,虽然它可能适用于兆字节大小的文件)。
相关问题
- 1. 读取文件并将其内容写入另一个C++
- 2. 从ZIP文件读取文件并将其写入到另一个文件
- 3. Python:写入文件并将其读回
- 4. 读取一个bmp文件数据并将其写入另一个bmp
- 5. 阅读压缩文件并将其写入其他文件python
- 6. 从PDF文件读取数据并将其写入Word文件?
- 7. Python:将句子翻转并写入另一个文件
- 8. Java - 读取键盘输入并将其写入文本文件
- 9. 从文件中提取特定数据并将其写入另一个文件
- 10. 从一个文件中读取下面的文本,并将其写入到另一个文件
- 11. 从一个div取数据,并将其写入文本文件
- 12. 下载一个Fasta文件并将其写入文本文件
- 13. 如何读取文件并将其数据写入其他文件?
- 14. 从文本文件读取并将其写入XML
- 15. 读取文本文件并将其写入Excel中的excel
- 16. 如何读取一个SEQUENCE并将其写入文本项?
- 17. 如何读取pdf文件并将其写入outputStream
- 18. 读取txt文件并将其写入数据库
- 19. 读取UTF-8 XML并使用Python将其写入文件
- 20. Android,读取二进制数据并将其写入文件
- 21. 从文件中读取数据并将其写入结构
- 22. Shell:读取文件并将其内容回显到另一个文件
- 23. 将文件写入另一个文件
- 24. 读取NetCDF文件并将其转换/写入CSV文件为可读文件的简单方法是什么?
- 25. 写入CSV文件并将其导出?
- 26. 将字符串写入Java文件并将其读回
- 27. 如何将OrderedDicts写入文件并将其读回列表?
- 28. 将字节数组写入txt文件并将其读回
- 29. LISP:如何从文件中读取内容并将其写入另一个文件?
- 30. 读入一个文件并写入另一个文件失败
每行是一个唯一的整数,还是每行有多个整数(如果是这样,它们是如何分开的) – onaclov2000
单独反转每个整数或文件数据意味着最后一个整数,等等? – Omkant
你确定只想通过C程序来完成吗?像perl这样的脚本语言或者使用基本工具会更合适(也更简单) –