include <iostream>
include<stdio.h>
/*
-
数据的持久化 file文件保存数据
-
1.创建文件
-
2.打开文件
fopen(”url“,“读写模式”)返回文件指针 FILE *,FILE是一个结构体,存有文件属性
fputc: 写入一个字符
fputs:写入一个字符串
fwrite:写入结构体
r:文件必须存在 从头读
w:
a:写,定位到文件末尾
r+ 可读可写 写会覆盖 从当前位置读
a+ 可读可写 写会覆盖 从文件末尾读
w+ 可读可写 从表尾写 从末尾读
fseek(FILE * ,偏移量,从哪个位置)指针移位
-
3.写入文件
-
4.读取文件
fgetc:
fgets:
fread:
-
5.关闭文件
*/
int main() {
FILE *fp =fopen("C:\Users\little_stone\Desktop\1.txt","a+");
//fputs("hello world\n",fp);
//fseek(fp,0,SEEK_SET);SEEK_SET文件指针移到文件头,0偏移量
//文件的读和写,一次执行一个操作
char str[50]={};
char pwd[50]={};fgets(pwd,50,fp);
if(pwd[0]=='\0'){
//说明没有密码
//将密码写入文件
printf("请设置密码");}
else{//密码已存在
printf("请输入密码");
}
//接受用户的输入
scanf("%s",str);
if(pwd[0]=='\0'){fseek(fp,0,SEEK_SET); fputs(str,fp); printf("密码设置成功!\n"); fseek(fp,0,SEEK_SET);//回退到开头 fgets(pwd,50,fp);
}
for(int i=0;i<50;i++){
if(pwd[i]!='\0') {
if (pwd[i] != str[i]) {
//密码错误
printf("密码错误!");
break;
}
}
//pwd结束
else {
if (str[i]=='\0')
//pwd已到达结尾
printf("密码正确");
else printf("密码错误!!!");
break;
}
}
fclose(fp);
return 0;
}
网友评论