c – 文件二进制文本与文本

前端之家收集整理的这篇文章主要介绍了c – 文件二进制文本与文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一些情况我不得不喜欢二进制文件到文本文件?我用C作为编程语言?

例如,如果我要存储一些大文本文件,最好是使用文本文件还是二进制文件

编辑

目前的文件没有要求人类可读的要求.有些性能差异,安全性差异等等?

编辑

很抱歉省略其他要求(感谢Carey Gregory)

>要保存的记录是ascii编码
>文件必须加密(AES)
>机器可以随时关机.所以我要尽力防止错误.
>我想知道文件是否在程序之外更改,我想我将使用该文件的sha1摘要.

解决方法

作为一般规则,定义文本格式并使用它.这很多
更容易开发和调试,更容易看到是什么
如果它不起作用就会出错.

如果您发现文件变得太大,或者接受了
通过电线传输的时间很长,考虑压缩它们.
压缩文本文件通常比您可以使用的文件
二进制文件.或者考虑一种不那么冗长的文本格式;这是可能的
用于可靠地传输数据的文本表示
XML使用的字符少得多.

最后,如果你最终不得不使用二进制文件,请尝试选择
现有格式(例如Google的协议块),或基于您的格式
现有格式的格式.请记住:

>实际上,Binary比文本更多的工作
必须写所有的<<操作符再次,包括那些
在标准库中.
>二进制文件调试起来要困难得多,因为你不能
很容易看到你实际做了什么.

关于你的上次编辑:

>加密后,结果将是二进制的.您可以使用二进制文件的表示形式(base64或其他一些),但结果不会比二进制更可读,所以这不值得打扰.如果您正在加密,在写入磁盘之前,您会自动丢失所有内容文字的优点.>关闭电源的问题意味着您无法使用直接的.您必须使用以下命令打开或创建文件完整事务完整性的必要选项(O_SYNC as在Unix下打开的标志).您必须将每条记录都写为对系统的单个写请求.>为了以防万一,有一个校验和总是一个好主意.如果你担心安全问题,SHA1是个不错的选择.但保持请记住,如果有人有权访问该文件,并且想要故意改变它,他们可以重新计算SHA1和也插入新值.

猜你在找的C&C++相关文章