c语言通讯录保存模块函数
时间: 2023-08-11 09:04:36 浏览: 69
以下是一个简单的 C 语言通讯录保存模块函数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 50
#define MAX_NUM_LEN 20
#define MAX_ADDR_LEN 100
struct Contact {
char name[MAX_NAME_LEN];
char phone_num[MAX_NUM_LEN];
char address[MAX_ADDR_LEN];
};
void save_contacts(const struct Contact *contacts, size_t num_contacts, const char *filename) {
FILE *fp = fopen(filename, "wb");
if (fp == NULL) {
fprintf(stderr, "Failed to open file %s for writing.\n", filename);
exit(EXIT_FAILURE);
}
fwrite(&num_contacts, sizeof(num_contacts), 1, fp);
fwrite(contacts, sizeof(struct Contact), num_contacts, fp);
fclose(fp);
}
int main() {
struct Contact contacts[] = {
{"Alice", "1234567890", "1234 Main St, Anytown USA"},
{"Bob", "555-555-5555", "5678 Elm St, Anycity USA"},
{"Charlie", "999-999-9999", "9012 Oak St, Someplace USA"}
};
size_t num_contacts = sizeof(contacts) / sizeof(contacts[0]);
save_contacts(contacts, num_contacts, "contacts.bin");
return 0;
}
```
这个函数接受一个指向联系人数组的指针,联系人数量和要保存到的文件名。它将联系人数组写入二进制文件中,其中第一个字节是联系人数量,后面的字节是实际的联系人结构体。请注意,此示例中的结构体仅包含三个字段:姓名、电话号码和地址。您可以根据自己的需求修改此结构体。