文件IO,处理CRLF

aCu*_*ria 2 c c++

我正在编写一个程序,它接收一个文件并将其拆分为多个用户指定大小的小文件,然后再次加入多个小文件.

  1. 代码必须适用于C和C++

  2. 我正在编译多个编译器.

  3. 我正在使用函数fread()和文件读取和写入文件fwrite()

  4. fread()fwrite()处理字节,而不是字符串.

我遇到的问题与CRLF有关.如果我正在读取的文件包含CRLF,那么当我拆分并将文件重新连接在一起时,我想保留它.如果文件包含LF,那么我想保留LF.

不幸的是,fread()似乎将CRLF存储为\n(我认为),并且编写的任何内容都fwrite()依赖于编译器.

我该如何处理这个问题?

Pet*_*erK 11

以二进制模式进行读/写操作.那应该是否与CRLF或LF线结尾无关.