potato账号购买

首页

当前位置:首页 > potato账号

「新手到大神之途7」换置手机管理后台之多客户账号登陆

当前栏目:potato账号|更新时间:2021-02-04 10:02:59|浏览:0


新项目要求

完成好几个账号

新项目完成

#include #include int main(void) {// 界定自变量,用于表明登录名和登陆密码char name[32];char password[16];FILE *file; //界定了一个档指针变量,用户标识符是filechar line[128];char name_tmp[32];char password_tmp[16];char *ret;//开启档file = fopen("users.txt", "r"); if (!file) { //等效于 file == NULL printf("档开启不成功");return 1;}//键入登录名和登陆密码while (1) {// 键入登录名和登陆密码printf("输入您登录名:");scanf("%s", name);printf("请输入密码:");scanf("%s", password);/*if (strcmp(name, "admin") == 0 && strcmp(password, "123456") == 0) {break;} else {printf("登录名或密码错误!");system("pause");system("cls");}*///从档中载入账号,并开展分辨!while (1) {//读一行ret = fgets(line, sizeof(line), file); //line: "admin 123456"if (!ret) {break;}sscanf(line, "%s %s", name_tmp, password_tmp);if (!strcmp(name, name_tmp) && !strcmp(password, password_tmp)) {break;}}if (ret) { //登录名和登陆密码搭配取得成功break;} else {printf("登录名或密码错误!");system("pause");system("cls");fseek(file, 0, SEEK_SET); //把档內部的部位表针设定到档头}}system("cls");// 复印作用莱单printf("---网络交换机管理后台---");printf("1. 建立账号");printf("2. IP管理方法");printf("3. 撤出");printf("挑选...");return 0;}

新项目精解

1. fopen档的开启实际操作

函数原型

#include

FILE *fopen( const char *fname, const char *mode );

主要参数1:fname 表明文件夹名称(能够带有途径信息内容)

主要参数2:打开

返回值:FILE* 档表针,

假如开启不成功,就回到NULL(就是0)


mode 打开

"r" 以"读"的方法开启一个文字档(只有读)

"r " 与"r" 的差别取决于,提升了"写"

"rb" 以"读"的方法开启一个二进制档(只有读)

"rb " 与"rb"的差别取决于,提升了"写"


"w" 以"写"的方法建立一个文字档,假如这一档早已存有,便会遮盖原先的档

"w " 与"w"的差别取决于,提升了"读"

"wb" 以"写"的方法建立一个二进制档

"wb " 与"wb"的差别取决于,提升了"读"


"a" 以"尾端增加"的方法开启一个文字档, (只有写)

"a " 以"a"的差别取决于,提升了"读"

"ab" 以"尾端增加"的方法开启一个二进制档, (只有写)

"ab " 与"ab"的差别取决于,提升了"读"


总结:

打开,共1到3个标识符。

第一个标识符是 r、w或a

r 表明"读",用以开启早已存有的档

w 表明"建立", 用以建立一个新档,并可以"写"

a 表明"尾端增加",并可以"写"


b, 只有写在第二位,表明开启的是二进制档

,只有写在最终,表明提升一个读或写的作用


案例

#include int main(void) {FILE *file;//file = fopen("users.txt", "r");file = fopen("users1.txt", "r");if (file != NULL) { //NULL就是0printf("档users.txt开启取得成功!");} else {printf("档users.txt开启不成功!");}return 0;}

2. fclose档的关掉实际操作

清除缓冲区域,并释放出来档表针。


Demo

#include int main(void) {FILE *file;file = fopen("users.txt", "a");fputs("xiaoxiao 123456", file);fclose(file);return 0;}

需注意:

对档实行写实际操作之后,并不会立刻载入档,而仅仅载入来到这一档的輸出缓冲区域中!

仅有当这一輸出缓冲区域满了,或是实行了fflush,或是实行了fclose涵数之后,或是程序流程完毕,

才会把輸出缓冲区域中的內容真正载入档!


3. fgetc档的读实际操作

函数原型:

#include

int fgetc( FILE *stream );

返回值:取得成功时,回到看到的标识符,回到的是int类型(具体值是标识符)

不成功或看到档尾,回到EOF (便是-1)


功效:

从档中载入一个字符


案例:

#include int main(void) {FILE *file;char c;file = fopen("users.txt", "r");while ((c = fgetc(file)) != EOF) { //EOF便是 -1printf("%c", c);}return 0;}

4. fputc写一个字符到档fputc

函数原型:

#include

int fputc( int ch, FILE *stream );


案例:

test.c

#include int main(void) {FILE *file1;FILE *file2;char c;file1 = fopen("test.c", "r");file2 = fopen("test2.c", "w");while ((c = fgetc(file1)) != EOF) { //EOF便是 -1fputc(c, file2);}fclose(file1);fclose(file2);return 0;}

5. fgets 从档中载入一个字符串数组

备考:

在新项目4的"字符串数组键入"中学习培训过。


函数原型:

#include

char * fgets( char *str, int num, FILE *stream );

主要参数:

num: 数最多载入num-一个标识符,或是碰到档结束符EOF已经(即"档看完了")

返回值; 载入不成功时, 回到NULL,

载入取得成功时,回到str


案例:

#include int main(void) {FILE *file1;char tmp[64];char c;file1 = fopen("test.c", "r");while (fgets(tmp, sizeof(tmp), file1) != NULL) { printf("%s", tmp);}fclose(file1);return 0;}

6. fputs 写一个字符串数组到档中去

函数原型:

#include

int fputs( const char *str, FILE *stream );


案例

#include int main(void) {FILE *file1;FILE *file2;char tmp[64];char c;file1 = fopen("test.c", "r");file2 = fopen("test2.c", "w");while (fgets(tmp, sizeof(tmp), file1) != NULL) { fputs(tmp, file2);}fclose(file1);fclose(file2);return 0;}

7. fprintf 往档中写恢复出厂设置数据信息

函数原型:

#include

int fprintf( FILE *stream, const char *format, ... );


Demo:

#include int main(void) {FILE *file1;char name[32];int age;char c;file1 = fopen("info.txt", "w");while (1) {printf("输入您学生名字:");scanf("%s", name);printf("输入您%s的考试成绩: ", name);scanf("%d", &age);fprintf(file1, "名字:%s年纪:%d", name, age);printf("还必须再次键入吗? Y/N");//fflush(stdin);while((c=getchar()) != ''); //直至读到回车符已经! scanf("%c", &c);if (c == 'Y' || c == 'y') {continue;} else {break;}}fclose(file1);return 0;}

8. fscanf 恢复出厂设置载入档中数据

函数原型:

#include

int fscanf( FILE *stream, const char *format, ... );

返回值:取得成功时,回到具体载入的数据信息数量

不成功时,回到 EOF (-1)

搭配不成功时,回到0


Demo

#include int main(void) {FILE *file1;char name[32];int age;int ret;file1 = fopen("info.txt", "r");while (1) {ret = fscanf(file1, "名字:%s 年纪:%d", &name, &age);if (ret == EOF) {break;}printf("%s,%d", name, age);}fclose(file1);return 0;}

9. fwrite 以二进制方式写数据信息到档中去

#include

int fwrite( const void *buffer, //要载入的数据信息的实际上详细地址,也就是自变量的详细地址

size_t size, //每"块"数据信息的尺寸

size_t count, //载入几片数据信息

FILE *stream );


Demo

#include #include int main(void) {FILE *file1;char name[32];int age;int ret;file1 = fopen("info.txt", "wb");printf("请请输入的名字: ");gets(name);printf("请请输入的年纪: ");scanf("%d", &age);fwrite(name, sizeof(name), sizeof(char), file1);fwrite(&age, 1, sizeof(int), file1);fclose(file1);return 0;}


填补:

w和wb的差别

wb的demo

#include #include int main(void) {FILE *file1;char info[] = "HelloWorld";int age;int ret;file1 = fopen("test.txt", "wb");fwrite(info, sizeof(char), strlen(info), file1);fclose(file1);return 0;}

w的demo

#include #include int main(void) {FILE *file1;char info[] = "HelloWorld"; //  储存位 int age;int ret;file1 = fopen("test.txt", "w");fwrite(info, strlen(info), sizeof(char), file1);fclose(file1);return 0;}



总结:

在windows服务平台下,

当应用w方法开启档时,

假如应用fwrite载入数据信息时,会把''载入为 ''''

即把10储存为 13 10

由于,在windows服务平台下,文字档中的回车符,会储存为

( 的ASCII码为10, 的ASCII码为13)


当应用wb方法开启档时,

假如应用fwrite载入数据信息时,碰到''仍只载入为 ''

fread 以二进制方式载入档中的数据信息

函数原型:

#include

int fread( void *buffer, size_t size, size_t num, FILE *stream );


Demo

#include #include int main(void) {FILE *file1;char name[32];int age;int ret;file1 = fopen("student.txt", "rb");fread(name, sizeof(name), sizeof(char), file1);fread(&age, 1, sizeof(int), file1);printf("%s, %d", name, age);fclose(file1);return 0;}

putw 以二进制方式存储一个整数金额

demo

#include #include int main(void) {FILE *file1;int data[] = {1,2,3,4,5};int i;file1 = fopen("test.txt", "w");for (i=0; i
	  

相关推荐

网站友情链接: