1. 简单版:涉及到二维数组、文件读写操作
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 300 //最大多少条记录
#define CHM 100 //每条记录最大多少字节
int gCount=0; //总共多少条记录
char cWeb[MAX][CHM]; //website
char cUser[MAX][CHM]; //username
char cPwd[MAX][CHM]; //password
char cNote[MAX][CHM]; //note
//功能:增删改查显示所有;加密写入文件;打开密码本也需要输入密码
//文件操作的关键点在于
//凡事涉及到对文件进行操作的功能
//一律都在内存中进行
//包括增删改
//操作之前先将文件中的东西初始化到内存,
//操作完之后再将内存中的东西写入文件
//直接覆盖原来文件中的内容
//采用异或加密,每个字符都异或5
//初始化,将文件中的内容读出到内存并解密
void InitP()
{
FILE *pFile = nullptr;
//1.打开
if (fopen_s(&pFile, "pwd.txt", "ab+")) //rb+既能读也能写,用w会被覆盖,用r不能从0开始加
printf("失败\n");
//读取并解密
fseek(pFile, 0, SEEK_END);
int n = ftell(pFile); //文件中一共多少字节
gCount = n / 400;
fseek(pFile, 0, SEEK_SET);
for (int i = 0; i < gCount; i++)
{
fread(cWeb[i], CHM, 1