c++ 判断两个文件是否相同

作者:MyLinChi 
来源:CSDN 
原文:https://blog.csdn.net/MyLinChi/article/details/53264342 

 

程序很简单,主要使用了一个freopen()函数。具体的用法是:

函数名:freopen 

声明:FILE *freopen( const char *path, const char *mode, FILE *stream );

 所在文件: stdio.h 

参数说明: path: 文件名,用于存储输入输出的自定义文件名。

                     mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。 

                    stream: 一个文件,通常使用标准流文件。 返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值) 功能:实现重定                           向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默                      认为屏幕;stderr是标准错误流,一般把屏幕设为默认。

代码如下:
 

#include<iostream>
#include<string>
 
using namespace std;
int main()
{
	string t,ans,ans2;
	int i;
	freopen("in1.txt","r",stdin);
	char c;
	while(scanf("%c",&c)!=EOF) ans+=c;
	fclose(stdin);
	freopen("in2.txt","r",stdin);
	while(scanf("%c",&c)!=EOF) ans2+=c;;
	fclose(stdin);
	if(ans.size()!=ans2.size()){cout<<"NO\n";return 0;}
	for(i=0;i<ans.size();i++)
		if(ans[i]!=ans2[i]){cout<<"NO\n";return 0;}
	cout<<"YES\n";
	return 0;
}

 

参考文章:http://blog.csdn.net/wangzhicheng1983/article/details/8039306
                    http://www.cnblogs.com/moonlit/archive/2011/06/12/2078712.html
 

    原文作者: 汉诺塔问题
    原文地址: https://blog.csdn.net/qq_41705423/article/details/83626030
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞