在windows中,文本文件和二进制文件在处理回车符和换行符时有区别:在文本模式下写入时,遇到每一个回车符和换行符,都会被回车符和换行符替换,然后写入文件;在读取文本时,每遇到一个回车符和换行符,它都会反转为回车符和换行符。二进制文件没有这种转换处理。但在linux中,文本文件和二进制文件没有区别。例如,fopen(“a.txt”、“r”)和fopen(“a.txt”、“rb”)在linux中是相同的。
将二进制文件转换为文本文件没有实际意义。二进制文件和文本文件之间最根本的区别在于,当读取和写入二进制文件时,系统不处理这些文件,程序员处理它们。打开文本文件时,操作系统会将rn中的文件转换为n中的c语言,只有n用于编写程序换行符,但在windows操作系统中,换行符是rn,即两个字和字节。如果不做任何处理,fgetc()=“n”遇到这样的语句时会出现一些小错误,导致文件读写失败。因此,在读取时,系统会自动将文件中的rn改为n,至于为什么使用c语言n而使用windowsrn,这是因为linux系统首先使用c语言,而linux只使用换行符n,所以为了使代码更具可移植性,程序员在windows下编写c程序时不必注意这些细节
事实上,对于计算机设备来说,它们是完全一样的。这种差异主要是针对人的。一种文本文件,其中数据和字符代码被转换成相应的字符或符号。不解释二进制数据。