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

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

在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);//打印ASCII
		fread(&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(换行符);\

      二进制文件没有变化.


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值