创建储存用户账号密码的文件:
void Create_File() { FILE *fp; if ((fp = fopen("users.txt","rb"))==NULL) /*如果此文件不存在*/ { if ((fp = fopen("users.txt","wb+"))==NULL) { outtextxy(, , "无法建立文件!"); } } }
关于文件读写:
r 只读 为输入打开一个文本文件(文件必须存在) w 只写 为输出打开一个文本文件(如没有文件,则新建) a 追加 向文本文件尾添加数据(如没有文件,则新建) rb 只读 为输入打开一个二进制文件 wb 只写 为输出打开一个二进制文件 ab 追加 向二进制文件尾添加数据 r+ 读写 为读写打开一个文本文件(文件必须已经存在) w+ 读写 为读写建立一个新的文本文件 a+ 读写 为读写打开一个文本文件(读写指针定位在最后) rb+ 读写 为读写打开一个二进制文件 wb+ 读写 为读写建立一个新的二进制文件 ab+ 读写 为读写打开一个二进制文件
创建结构体:
typedef struct The_users //typedef 可以定义结构体别名 { ]; ]; }users;
该结构体用于存储用户账号密码。
注册用户(账号密码)
void registers() //按结构体的大小,一次写入或者读入1个结构体大小 { users a,b;//结构体 The_users 重命名定义 FILE *fp; fp = fopen("users.txt","r"); fread(&b, , fp); //读入一个结构体字符块 到b InputBox(a.id,,"请输入账号"); ) { if (strcmp(a.id, b.id)) /*如果两串不相等*/ { if (!feof(fp)) /*如果未到文件尾*/ { fread(&b, , fp); } else break; } else { outtextxy(, , "此用户名已存在!"); fclose(fp); main(); } } InputBox(a.pwd,,"请输入密码"); fp = fopen("users.txt","a"); fwrite(&a, , fp); outtextxy(, , "帐号注册成功!"); fclose(fp); main(); }
登录账号密码:
void Input_login() { users a,b;//定义结构体The_users别名 FILE *fp; fp = fopen("users.txt","r"); fread(&b, , fp); //读入一个结构体字符块 写入b InputBox(a.id,,"请输入账号"); outtextxy(,,a.id); ) { ) //如果有此用户名 { break; } else { if (!feof(fp)) //如果文件没有读完 { fread(&b, , fp); } else { outtextxy(, , "此用户名不存在!"); fclose(fp); main(); } } } InputBox(a.pwd,,"请输入密码"); ) /*如果密码匹配*/ { fclose(fp); outtextxy(, , "登录成功,欢迎使用!"); } else { outtextxy(, , "密码不正确!"); main(); } }
C语言怎么将用户账号密码写入文件实现登录注册功能?的更多相关文章
-
一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)
本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...
-
C 语言实例 - 将字符串写入文件
C 语言实例 - 将字符串写入文件 C 语言实例 C 语言实例 将字符串写入文件. 实例 #include <stdio.h> #include <stdlib.h> /* e ...
-
c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变
c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件 ...
-
C语言中链表任意位置怎么插入数据?然后写入文件中?
链表插入示意图:(图是个人所画)因为链表指针指来指去,难以理解,所以辅助画图更加方便. 插入某个学号后面图: 定义的结构体: struct student { ]; //学生学号 ]; //学生姓名 ...
-
C语言:把分数最低的学生数据放入数组b所指的数组中,-从键盘输入若干字符串,写入文件myfile4中,用-1作字符输入结束的标志,
//学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,fun函数:把分数最低的学生数据放入数组b所指的数组中,分数最低的学生可能不止一个.人数返回. #include <st ...
-
I/O处理小练习--保存用户账号密码
I/O处理小练习--保存用户账号密码 用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束 import java.io.*; public class Example { pu ...
-
小白日记40:kali渗透测试之Web渗透-SQL手工注入(二)-读取文件、写入文件、反弹shell
SQL手工注入 1.读取文件[load_file函数] ' union SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' unio ...
-
Tweak 中系统方法写入文件到根目录下面失败
Tweak 中系统方法写入文件到根目录下面失败 失败原因: Error Domain=NSCocoaErrorDomain Code=513 "The operation couldn’t ...
-
linux批量添加10个用户并将其随机密码和用户名写入文件
需求: 批量新建10个测试用户,并且让其密码随机,把用户名和密码写入一个文件,并有创建时间和创建者 #!/usr/bin/python # -*- coding: utf-8 -*- import o ...
随机推荐
-
SQL Server2008 错误源:.net SqlClient data provider的解决方法
今天下午直接在SQL Server 2008的Microsoft SQL Server Management Studio 中修改一张表中某个字段, 不管是删除字符还是添加都提示下面的错误. 网上很多 ...
-
如何避免被C++默认拷贝构造函数忽悠?
一.背景介绍 因为工作关系,需要用到C++编程.对于我来说,虽然一直从事的是linux平台下的嵌入式软件开发,但深入用到C++的特性的地方并不多.对于C++,用得最多的无非是指针. ...
-
df -h hang 问题
此处仅截取原文中的解决方案,以便快速查找解决方法. 解决方法如下:1. systemctl restart proc-sys-fs-binfmt_misc.automount; 2. 升级到最新 sy ...
-
Spring MVC配置实例
1.下载Jar文件,添加到项目 lib文件夹中. 使用eclipse新建 Web 项目.下载导入相关的 jar 和 Tomcat.我的java版本是JDK1.8 对应的 Tomcat 版本是 8.0. ...
-
object detection[rfcn]
0 - 背景 从rcnn,spp,fast rcnn, faster rcnn,yolo,ssd,这里又有个新模型叫rfcn,即Region-based Fully Convolutional Net ...
-
Navicat Premium 12 破解(MySQL、MariaDB、MongoDB、SQL Server、SQLite)
打开注入到安装目录中的exe中 破解提示(还没好,继续看下去) 如果你安装的是中文版,选一下中文版(英文默认即可),获取一下key(名字和组织可以自定义) 打开Navicat,选择注册(第一次打开选注 ...
-
C# 调用打印机 打印 Excel
打印 Excel 模板 大体思路,通过NPOI操作Excel文件,通过Spire将Excel转成图片,将图片传给系统打印. Spire是收费工具,在微软库中下载Free版本. #region 打印所用 ...
-
廖雪峰Java7处理日期和时间-2Data和Calendar-2Calendar
Calendar类 历史上有许多纪年方法,其差异太大了.为了统一计时,通常采用格里高利日历. 1.创建Calendar对象 Calenda类是一个抽象类,所以不能使用构造器来创建Calendar对象. ...
-
对WebSocket技术的学习与探索(一)
WebSocket 简要介绍 WebSocket protocol 是HTML5一种新的协议. 它实现了浏览器与服务器全双工通信(full-duple). 一开始的握手需要借助HTTP请求完成. We ...
-
C#对.zip 存档读取和写入【转】
Framework4.5支持 引用: System.IO.Compression.dll,System.IO.Compression.FileSystem.dll 提取压缩文件 ZipFile.Ext ...