如何用c语言.把文本文件转换成二进制文件
1个回答
展开全部
二进制文件转换为文本文件是没有任何实际意义的.
二进制文件和文本文件最根本的区别就是二进制文件在读写的时候系统不对文件进行任何处理而交由程序员处理,
而文本文件打开是先由操作系统把文件中而在的\r\n转换为\n.
因为我们在c语言中写程序换行只有\n,
但是在windows操作系统中,
换行是\r\n,
是两字字节.
如果不作任何处理,
fgetc()
==
'\n'
遇到这类语句将会出现一些小错误,
导致文件读写失败.
所以在读的时候,
系统自动把文件中的\r\n变成\n,
写的时候把内存中的\n全部转换成\r\n.
至于为什么c语言用\n而windows用\r\n,
这是因为c语言是最早出现在linux系统中的,
而linux用的换行只有\n,
所以为了使代码可移植性较高,
在windows中编写c程序仍然使用\n,
程序员就不需要去在意这些细节问题了.
二进制文件和文本文件最根本的区别就是二进制文件在读写的时候系统不对文件进行任何处理而交由程序员处理,
而文本文件打开是先由操作系统把文件中而在的\r\n转换为\n.
因为我们在c语言中写程序换行只有\n,
但是在windows操作系统中,
换行是\r\n,
是两字字节.
如果不作任何处理,
fgetc()
==
'\n'
遇到这类语句将会出现一些小错误,
导致文件读写失败.
所以在读的时候,
系统自动把文件中的\r\n变成\n,
写的时候把内存中的\n全部转换成\r\n.
至于为什么c语言用\n而windows用\r\n,
这是因为c语言是最早出现在linux系统中的,
而linux用的换行只有\n,
所以为了使代码可移植性较高,
在windows中编写c程序仍然使用\n,
程序员就不需要去在意这些细节问题了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询