c语言写入txt文件_C 语言入门 09 以字符串形式对比两个 txt 文件的内容

5eb000fdb2d3a715125093ad0f5f0ef0.png
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

#define MAX 1024

int main(void)
{
	FILE *f1;
	FILE *f2;
	char buffer1[MAX];
	char buffer2[MAX];
	
	if((f1 = fopen("1.txt" , "r")) == NULL)
	{
		printf("打开文件 1.txt 失败!n");
		exit(EXIT_FAILURE);
	}
	if((f2 = fopen("2.txt" , "r")) == NULL)
	{
		printf("打开文件 2.txt 失败!n");
		exit(EXIT_FAILURE);
	}
	
	while(!feof(f1) || !feof(f2))          //检测到文件末尾,返回非 0 值,否则返回 0 值
	{
		fscanf(f1 , "%s" , buffer1);
		fscanf(f2 , "%s" , buffer2);
		/*
		fscanf 遇到空格、换行符时结束
		fgets  遇到换行符时结束
		假设 1.txt 文件内容 < 2.txt 文件内容
		则 f1 将持续读取到 EOF,即 buffer1 内容持续不变
		而 f2 将继续读取新内容,即 buffer2 内容持续变化
		即 buffer1 和 buffer2 持续比较
		注意:文件中最后一行有换行符存在,则最后一次比较将重复比较输出一次
		*/
		
		if(!strcmp(buffer1 , buffer2)) //两个字符串完全一致,则返回 0 值
		{
			printf("%-8s = %8sn" , buffer1 , buffer2);
		}
		else
		{
			printf("%-8s X %8sn" , buffer1 , buffer2);
		}
	}
	printf("n");
	fclose(f1);
	fclose(f2);
	
	printf("n");
	system("pause");                       //请按任意键继续...
	
	return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值