void saveContacts() { FILE* fp = fopen("contacts.dat", "wb"); if (fp == NULL) { printf("无法打开文件。\n"); return; } fwrite(&contactCount, sizeof(int), 1, fp); fwrite(&contacts, sizeof(Contact), contactCount, fp); fclose(fp); printf("联系人信息已保存。\n");填写详细的注释
时间: 2024-01-31 19:03:04 浏览: 76
该函数的作用是将通讯录中的联系人信息保存到文件contacts.dat中。函数的具体实现如下:
```C
void saveContacts() {
FILE* fp = fopen("contacts.dat", "wb"); // 打开二进制文件
if (fp == NULL) { // 判断文件是否打开成功
printf("无法打开文件。\n");
return;
}
fwrite(&contactCount, sizeof(int), 1, fp); // 将联系人数量写入文件
fwrite(&contacts, sizeof(Contact), contactCount, fp); // 将所有联系人信息写入文件
fclose(fp); // 关闭文件
printf("联系人信息已保存。\n");
}
```
首先,该函数通过调用fopen函数打开名为contacts.dat的二进制文件,文件打开模式为"wb",表示以二进制写的方式打开文件。如果文件打开失败,则输出错误信息并返回。接着,函数使用fwrite函数将联系人数量contactCount和所有联系人信息写入文件中。其中,&contactCount表示contactCount变量的地址,sizeof(int)表示contactCount变量所占用的字节数,1表示写入1个int类型的数据。同样,&contacts表示contacts数组的地址,sizeof(Contact)表示每个Contact类型的变量所占用的字节数,contactCount表示要写入的Contact类型的变量数量。最后,函数使用fclose函数关闭文件,输出保存成功的信息。
阅读全文