C语言实现请编写一个程序,比较两个文件,如果相等则返回0;否则返回1
时间: 2023-05-26 20:04:49 浏览: 64
```
#include <stdio.h>
int main() {
FILE *f1, *f2;
char c1, c2;
// 打开文件
f1 = fopen("file1.txt", "r");
f2 = fopen("file2.txt", "r");
if (f1 == NULL || f2 == NULL) {
printf("文件打开失败\n");
return 1;
}
// 对比文件内容
while ((c1 = fgetc(f1)) != EOF && (c2 = fgetc(f2)) != EOF) {
if (c1 != c2) {
printf("文件内容不相等\n");
return 1;
}
}
// 关闭文件
fclose(f1);
fclose(f2);
// 判断文件长度是否相等
if (c1 != c2) {
printf("文件长度不相等\n");
return 1;
}
// 文件内容完全相等
printf("文件内容相等\n");
return 0;
}
```
相关问题
c语言编写函数实现两个字符串的比较,即自己写一个strcmp函数。函数原型为int strcmp(char *p1,char *p2);两个字符串相等时返回0,不相等返回两个字符串第一个不相等字符ASCII码之差。(指针实现)完整程序
下面是一个示例程序,实现了自定义的 `strcmp` 函数:
```c
#include <stdio.h>
int strcmp(char *p1, char *p2);
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("The two strings are equal.\n");
} else {
printf("The two strings are different. The ASCII difference is %d.\n", result);
}
return 0;
}
int strcmp(char *p1, char *p2) {
while (*p1 == *p2 && *p1 != '\0') {
p1++;
p2++;
}
return (*p1) - (*p2);
}
```
该函数的实现方法是:首先使用一个 while 循环,逐个比较两个字符串的字符是否相等,直到出现不相等的字符或者字符串结束符 '\0'。然后返回两个字符串第一个不相等字符的 ASCII 码值之差。
c语言编写程序,比较两个字符串是否相等
您可以使用标准库函数strcmp()比较两个字符串是否相等。
函数原型如下:
```c
int strcmp(const char *str1, const char *str2);
```
该函数会比较两个字符串str1和str2,并返回一个整数值,如果str1和str2相等,则返回0;如果str1大于str2,则返回一个正整数;如果str1小于str2,则返回一个负整数。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "world";
if(strcmp(str1, str2) == 0)
{
printf("str1 and str2 are equal\n");
}
else
{
printf("str1 and str2 are not equal\n");
}
return 0;
}
```
阅读全文