C语言添加修改用户账号密码并读取
时间: 2023-08-11 08:07:47 浏览: 256
要添加、修改和读取用户账号密码,你可以使用 C 语言中的结构体和文件操作函数。
以下是一个示例程序,它可以添加、修改和读取用户账号密码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERNAME_LEN 20
#define MAX_PASSWORD_LEN 20
// 用户结构体
typedef struct {
char username[MAX_USERNAME_LEN+1];
char password[MAX_PASSWORD_LEN+1];
} User;
// 添加用户
void addUser(User user) {
FILE *fp = fopen("users.dat", "ab");
if (fp == NULL) {
printf("无法打开文件!\n");
return;
}
fwrite(&user, sizeof(User), 1, fp);
fclose(fp);
printf("添加用户成功!\n");
}
// 修改密码
void changePassword(char *username, char *newPassword) {
FILE *fp = fopen("users.dat", "r+b");
if (fp == NULL) {
printf("无法打开文件!\n");
return;
}
User user;
int found = 0;
while (fread(&user, sizeof(User), 1, fp) == 1) {
if (strcmp(user.username, username) == 0) {
strcpy(user.password, newPassword);
fseek(fp, -sizeof(User), SEEK_CUR);
fwrite(&user, sizeof(User), 1, fp);
found = 1;
break;
}
}
if (found) {
printf("修改密码成功!\n");
} else {
printf("找不到用户:%s\n", username);
}
fclose(fp);
}
// 读取用户
void readUsers() {
FILE *fp = fopen("users.dat", "rb");
if (fp == NULL) {
printf("无法打开文件!\n");
return;
}
User user;
while (fread(&user, sizeof(User), 1, fp) == 1) {
printf("用户名:%s,密码:%s\n", user.username, user.password);
}
fclose(fp);
}
int main() {
User user1 = {"Alice", "123456"};
User user2 = {"Bob", "abcdef"};
addUser(user1);
addUser(user2);
changePassword("Alice", "654321");
readUsers();
return 0;
}
```
该程序使用了一个名为 `User` 的结构体来表示用户,其中包括用户名和密码。`addUser` 函数用于向文件中添加一个用户,它打开一个名为 `users.dat` 的二进制文件,并将用户信息写入其中。`changePassword` 函数用于修改用户的密码,它打开同样的文件,并遍历其中所有用户,找到要修改的用户后,将其密码更新为新密码,并将其写回文件中。`readUsers` 函数用于读取所有用户的账号密码,它打开同样的文件,并遍历其中所有用户,依次输出每个用户的账号和密码。
这只是一个简单的示例程序,实际应用中,你需要根据具体的需求来设计更加完善的用户管理系统。
阅读全文
相关推荐















