2020-11-07

include

include

/*

  • 数据的持久化 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;
    }

你可能感兴趣的:(2020-11-07)