文件处理文本文件或二进制文件

时间:2015-05-28 11:42:22

标签: c++

哪种文件处理技术更适合在C ++中创建库管理系统项目。因为两者都可以作为更新和删除输入的记录来完成,但这是首选。

  1. 文本文件

  2. 二进制文件

2 个答案:

答案 0 :(得分:1)

我及时做了同样的项目。我选择了一种文本文件格式,所以我更喜欢文本文件,因为你可以读取你存储的数据。 我认为关于表现没有区别。

编辑:好的,显然斯特凡凡夫提到的性能差异很小。

  

二进制格式通常使用较少的CPU周期。不过那是   仅当您的应用程序受CPU限制且您打算这样做时才相关   内循环/瓶颈上的序列化和/或反序列化。   请记住:90%的CPU时间花费在10%的代码中,这意味着   除非您的“CPU”,否则不会有任何实际的性能优势   米“固定在100%,你的序列化和/或   反序列化代码消耗了100%的健康部分。

答案 1 :(得分:1)

我知道在文本文件中,文本和字符每个字节存储一个字符,正如我们所期望的那样。但数字存储为字符串。因此,12345,即使它占用内存中的4个字节,当使用fprintf()传输到磁盘时,将占用5个字节,每个字符一个字节。如果要将大量数据存储在磁盘文件中,使用文本模式可能会变得不够。解决方案是以二进制模式打开文件并使用那些以二进制格式存储数字的函数(fread()和fwrite())。这意味着每个数字在磁盘上占用的内存数与内存中占用的字节数相同。 这将导致文件大小不同。