C++中的freopen()函数实现比较两个文件的内容是否相同

程序很简单,主要使用了一个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
#include

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


参考文章:http://blog.csdn.net/wangzhicheng1983/article/details/8039306

                    http://www.cnblogs.com/moonlit/archive/2011/06/12/2078712.html

你可能感兴趣的:(c/c++,算法)