如果要比较我新写入的结构体字符串与文件中已有结构体字符串是否重复该怎么办,举例给出C语言代码
时间: 2024-05-02 13:23:02 浏览: 97
您好!看到您的问题了。如果要比较新写入的结构体字符串与文件中已有结构体字符串是否重复,可以使用strcmp()函数进行字符串比较。
示例代码如下:
```
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
int age;
};
int main() {
// 定义一个结构体变量
struct student stu;
// 输入要比较的字符串
printf("请输入一个字符串:\n");
scanf("%s", stu.name);
// 打开文件
FILE *fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("无法打开文件!\n");
return -1; // 表示程序运行失败
}
// 读取文件中的每一行,并与输入的字符串进行比较
char line[100];
while (fgets(line, sizeof(line), fp) != NULL) {
// 比较读取的字符串与输入的字符串是否相同
if (strcmp(line, stu.name) == 0) {
printf("该字符串与文件中已有的相同!\n");
fclose(fp);
return 0; // 表示程序运行成功
}
}
printf("该字符串与文件中没有重复!\n");
fclose(fp);
return 0; // 表示程序运行成功
}
```
注意,这只是一个示例代码,您需要根据自己的实际需求进行修改。如果您还有其他问题,可以继续问我。
阅读全文