c语言,编写程序,从文件idcard.txt中读入若干个人的姓名和身份证号码,提取每个人的生日信息,将每个人的姓名和生日信息写入文件birthday.txt中
时间: 2024-02-29 18:57:06 浏览: 159
好的,我可以帮您编写这段程序。以下是该程序的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *idcard_file, *birthday_file;
char name[100], idcard[100], birthday[20];
// 打开idcard.txt文件
idcard_file = fopen("idcard.txt", "r");
if (idcard_file == NULL) {
printf("无法打开idcard.txt文件!\n");
return 1;
}
// 创建birthday.txt文件
birthday_file = fopen("birthday.txt", "w");
if (birthday_file == NULL) {
printf("无法创建birthday.txt文件!\n");
return 1;
}
// 逐行读取idcard.txt文件中的内容
while (fscanf(idcard_file, "%s %s", name, idcard) != EOF) {
// 提取生日信息
strncpy(birthday, idcard+6, 8);
birthday[8] = '\0';
// 写入birthday.txt文件中
fprintf(birthday_file, "%s %s\n", name, birthday);
}
// 关闭文件
fclose(idcard_file);
fclose(birthday_file);
printf("已完成提取和写入操作!\n");
return 0;
}
```
程序的思路是:首先打开idcard.txt文件,然后创建birthday.txt文件。接着,程序逐行读取idcard.txt文件中的内容,提取每个人的生日信息,并将每个人的姓名和生日信息写入birthday.txt文件中。最后,程序关闭文件。
注意:该程序假定idcard.txt文件中每一行的格式都是“姓名 身份证号码”的形式,并且身份证号码的前6位表示出生日期。如果实际情况不符合这种格式,程序可能会出现错误。
阅读全文