Compare to files,printing the first line where they differ

此博客展示了如何使用C/C++编程语言通过比较两个文本文件的内容来找出它们之间的差异。程序通过逐行读取文件并比较字符,一旦发现不匹配立即停止比较并输出差异。
[code=C/C++]
#include<stdio.h>

# define SIZE 100

int compareTxt(FILE *fp1,FILE *fp2);
void show_file(char *name);

int main()
{
	FILE *fp1 = fopen("txt1.txt","r");
	FILE *fp2 = fopen("txt2.txt","r");
	/*place the pointer to the beginning of the file,which point to the file*/
	rewind(fp1);
	rewind(fp2);
	//show_file("txt2.txt");
	compareTxt(fp1,fp2);
	return 0;
}

int compareTxt(FILE *fp1,FILE *fp2)
{
	char c1,c2;
	char *line = new char[SIZE];
	while(!feof(fp1) && !feof(fp2))
	{
		if((c1=fgetc(fp1)) != (c2 = fgetc(fp2)))
		{
            fgets(line,SIZE,fp1);
			printf("File 1:%c%s\n",c1,line);
			fgets(line,SIZE,fp2);
			printf("File 2:%c%s\n",c2,line);
			break;
		}
	}
	if(c1 == EOF && c2 == EOF)
	{
		printf("Two files are the same.");
		fclose(fp1);
		fclose(fp2);
		return 1;
	}
	else if(c1 != EOF && c2 == EOF)
	{
		fgets(line,SIZE,fp1);
		fclose(fp1);
		fclose(fp2);
		printf("%s \n",line);
		return -1;
	}
	else
	{
		fgets(line,SIZE,fp2);
		fclose(fp1);
		fclose(fp2);
		printf("%s \n",line);
		return -1;
	}
}

void show_file(char *name)
{
	FILE *fp = fopen(name,"r");
	char c;
	while((c = fgetc(fp)) != EOF)
	{
		printf("%c",c);
	}
	fclose(fp);
}
[/code]


帮我翻译下面的注释 Query the given URI, returning a Cursor over the result set with optional support for cancellation. For best performance, the caller should follow these guidelines: Provide an explicit projection, to prevent reading data from storage that aren't going to be used. Use question mark parameter markers such as 'phone=?' instead of explicit values in the selection parameter, so that queries that differ only by those values will be recognized as the same for caching purposes. Params: uri – The URI, using the content:// scheme, for the content to retrieve. projection – A list of which columns to return. Passing null will return all columns, which is inefficient. selection – A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given URI. selectionArgs – You may include ?s in selection, which will be replaced by the values from selectionArgs, in the order that they appear in the selection. The values will be bound as Strings. sortOrder – How to order the rows, formatted as an SQL ORDER BY clause (excluding the ORDER BY itself). Passing null will use the default sort order, which may be unordered. cancellationSignal – A signal to cancel the operation in progress, or null if none. If the operation is canceled, then OperationCanceledException will be thrown when the query is executed. Returns: A Cursor object, which is positioned before the first entry. May return null if the underlying content provider returns null, or if it crashes. See Also: Cursor
最新发布
08-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值