当前位置: 首页 > news >正文

IO-day1-(fscanf、fprintf.........)

作业一、
有一个usr.txt的文件,其中存储着用户的账户和密码,格式如下:
zhangsan aaaa
lisi bbbbb
空格前面是账户,空格后面是密码,一行一个账户、密码
要求如下:
从终端获取一个账户名和密码
判断是否能够登录成功
若账户不存在:则提示账户不存在
若账户存在,密码不匹配:则提示密码错误
账户密码均存在:则显示登录成功
#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(int argc, const char *argv[])
{char name[20], pw[20];char my_name[20] = "", my_pw[20] = "";FILE *fp = fopen("./usr.txt", "r");if (NULL == fp){perror("fp");return -1;}printf("fopen succse\n");printf("请输入用户名:");scanf("%s", my_name);printf("请输入用户密码:");scanf("%s", my_pw);while (1){if (fscanf(fp, "%s %s", name, pw) == EOF){printf("没有查询到该账户\n");return -1;}if (strcmp(my_name, name) == 0 && strcmp(my_pw, pw) != 0){printf("密码错误\n");return 0;}if (strcmp(my_name, name) == 0 && strcmp(my_pw, pw) == 0){printf("登录成功\n");return 0;}bzero(name, sizeof(name));bzero(pw, sizeof(pw));}if (EOF == fclose(fp)){perror("fp");return -1;}printf("fclose succse");return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>typedef struct DATE
{char name[20];char pw[20];
} Date;int main(int argc, const char *argv[])
{Date date[2];FILE *fp = fopen("./usr.txt", "r");if (NULL == fp){perror("fp");return -1;}for (int i = 0; i < 2; i++){fscanf(fp, "%s %s", date[i].name, date[i].pw);}char my_name[20] = "", my_pw[20] = "";printf("请输入用户名:");scanf("%s", my_name);printf("请输入用户密码:");scanf("%s", my_pw);for (int i = 0; i < 2; i++){if (strcmp(my_name, date[i].name) == 0){if (strcmp(my_pw, date[i].pw) == 0){printf("登录成功\n");fclose(fp);return 0;}printf("密码错误\n");fclose(fp);return 0;}}printf("账号不存在\n");fclose(fp);return 0;
}

作业二、
要求拷贝一个文件,例如将1.c中的内容拷贝到2.c中
要求计算一个文件的大小。
要求计算一个文件有几行。文件的最后一行也有一个'\n'
#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(int argc, const char *argv[])
{char c;int count=0,count1=0;FILE *fp1 = fopen("./1.txt", "r");FILE *fp2 = fopen("./2.txt", "w");if (NULL == fp1){perror("fp1");return -1;}if (NULL == fp2){perror("fp2");return -1;}while(1){c = fgetc(fp1);if(c<0){break;}else{//计算字符个数fputc(c,fp2);count++;}//计算行数if(c =='\n')count1++;     }printf("2.txt的文件大小是%d\n",count);printf("2.txt的文件的换行是%d\n",count1);fclose(fp1);fclose(fp2);return 0;
}
http://www.lryc.cn/news/42132.html

相关文章:

  • C++类和对象(上篇)
  • 解决Xshell无法连接Kali Linux 2020.1(2019.3)版本
  • 项目文章 | 缓解高胆固醇血症 ,浒苔多糖如何相助?
  • Linux使用宝塔面板搭建网站,并内网穿透实现公网访问
  • 基于深度学习方法与张量方法的图像去噪相关研究
  • Java基础知识之HashMap的使用
  • 面试--每日一经
  • JavaSE进阶之(十六)枚举
  • 全同态加密:TFHE
  • 【计算机二级】综合题目
  • 初识Kafka
  • 【JavaEE】线程的状态
  • 7个最受瞩目的 Python 库,提升你的开发效率
  • 这些IT行业趋势,将改变2023
  • 蓝桥杯每日一真题——[蓝桥杯 2021 省 B] 杨辉三角形(二分+规律)
  • <C++> 类和对象(下)
  • 基于Springboot+Vue2前后端分离框架的智慧校园系统源码,智慧学校源码+微信小程序+人脸电子班牌
  • JavaEE-线程安全问题
  • 【Node.js】身份认证,Cookie和Session的认证机制,express中使用session认证和JWT认证
  • Redis删除策略和淘汰策略
  • LFM雷达实现及USRP验证【章节2:LFM雷达测距】
  • 菜鸟刷题Day5
  • 已解决AttributeError:module tensorflow no attribute app异常的正确解决方法,亲测有效!!!
  • Hadoop集群环境配置搭建
  • Thread类的基本用法
  • YOLOV8改进:如何增加注意力模块?(以CBAM模块为例)
  • Spark Streaming DStream的操作
  • 蓝桥杯冲刺 - week1
  • Leetcode27. 移除元素
  • ViewService——一种保证客户端与服务端同步的方法