【发布时间】:2011-09-07 07:13:30
【问题描述】:
我阅读了C++ Streams vs. C-style IO?(以及其他页面)试图帮助我决定在我正在处理的项目中实现某些文件 IO 的方式。
背景 我对 C++ 和 Windows 编程相当陌生,我一直在 C 和命令行应用程序中工作。提前为这个问题的n00b-ness道歉。
问题 我想读取一个文本文件,处理内容并输出到另一个(新)文本文件。我在 Win32 环境中工作(在可预见的未来这不会改变)并且正在编写应用程序以通过 _T 样式宏来识别 Unicode。 “处理”可能包括插入/附加/删除文本行,最多为 128 个字符。
问题 我更喜欢写一些健壮的东西,所以 I/O 错误处理是一个考虑因素。我认为我需要远离 C 风格的文件 I/O,如果只是为了简化代码和类型检查——即在更 OO POV 中处理这个问题。与 C++ 流函数(如果有)相比,使用 Win32 API 函数有哪些优势?你能为这两种方法推荐一个好的入门书吗? (我的谷歌搜索给我留下了一点信息过载)
非常感谢
【问题讨论】:
-
我应该提到,虽然行长度会受到限制(并且很小),但文件长度会变化很大,但通常相当大。
-
你能估计一下“相当大”的量级是什么意思吗?例如几十兆,几百兆,千兆字节,几十千兆字节,……几十兆兆字节?
-
@Ben 是的,“相当大”完全是模棱两可的,抱歉,10s 的 Mb,但必须在实时环境中处理,所以是的,性能是一个考虑因素。