二进制文件与文本文件区别

来源:互联网 发布:linux 改变文件夹权限 编辑:程序博客网 时间:2024/06/03 06:27

      二进制文件与文本文件区别:

在windows平台下:

文本文件:写入过程中,会将换行符替换为回车符和换行符,而读取过程刚好与写入相反。

二进制文件:读取和写入无差别。

在Linux平台下:

文本文件和二进制文件都无差别。


具体看下面代码:

    

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void readfile(char *path){FILE *pf = fopen(path, "rb");char ch;fread(&ch, 1, 1, pf);while (!feof(pf)){printf("%   d", ch);//打印ASCIIfread(&ch, 1, 1, pf);}fclose(pf);}void main(){char buf[5] = { 10, 10, 10, 10, 10 };//每个元素是换行符FILE *pfa;//代表文本文件FILE *pfb;//代表二进制文件char patha[40] = "D:\\a.c";char pathb[40] = "D:\\b.c";pfa= fopen(patha, "w");if (pfa==NULL){printf("文件打开失败");}else{fwrite(buf, 1, 5, pfa);fclose(pfa);}pfb = fopen(pathb, "wb");if (pfb == NULL){printf("文件打开失败");}else{fwrite(buf, 1, 5, pfb);fclose(pfb);}printf("\n");printf("文本写入读取内容:\n");readfile(patha);printf("\n");printf("文本写入读取内容:\n");readfile(pathb);system("pause");}
</pre><pre name="code" class="plain">
测试结果:

从结果可以分析得出:

     文本写入时候将10(换行符的ASCII)替换成了13(回车符)和10(换行符);\

      二进制文件没有变化.


0 0
原创粉丝点击