day1 2/18

1>    使用fgets统计给定文件的行数

#include<myhead.h>
int main(int argc, const char *argv[])
{
	if(argc!=2)
	{
		printf("enter error\n");
		return -1;
	}
	FILE*fp=NULL;
	if((fp=fopen(argv[1],"r"))==NULL)
	{
		perror("fopen error");
		return -1;
	}
	int num=0;
	char*ch=NULL;
	char buf[5]="";
	while(1)
	{
		ch=fgets(buf,sizeof(buf),fp);
		if(ch==NULL)
			break;
		//if(strlen(buf)<4)
		if(buf[strlen(buf)-1]=='\n')
			num++;
	}
	printf("num=%d\n",num);
	fclose(fp);
	return 0;
}


2>    使用fputs和fgets完成两个文件的拷贝

#include<myhead.h>
int main(int argc, const char *argv[])
{
	if(argc!=3)
	{
		printf("enter error\n");
		return -1;
	}
	FILE*fp1=NULL;
	if((fp1=fopen(argv[1],"r"))==NULL)
	{
		perror("fopen error");
		return -1;
	}
	FILE*fp2=NULL;
	if((fp2=fopen(argv[2],"w"))==NULL)
	{
		perror("fopen error");
		return -1;
	}
	char*ch=NULL;
	char buf[5]="";
	while(1)
	{
		ch=fgets(buf,sizeof(buf),fp1);
		if(ch==NULL)
			break;
		fputs(buf,fp2);
	}
	puts("拷贝成功");
	fclose(fp1);
	fclose(fp2);
	return 0;
}


3>    完成注册登录功能


做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中
功能2是登录功能,提示并输入登录账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登录失败

#include<myhead.h>
void do_login()
{
	char id[20],password[20];
	puts("请输入你要登录的账号");
	fgets(id,sizeof(id),stdin);
	puts("请输入你要登录的密码");
	fgets(password,sizeof(password),stdin);
	
	id[strlen(id)-1]='\0';
	password[strlen(password)-1]='\0';

	FILE*fp=NULL;
	if((fp=fopen("id.txt","r"))==NULL)
	{
		perror("fopen error");
		return;
	}
	char*ch=NULL;
	char buf[20],rbuf[20];
	while(1)
	{
		int rew=fscanf(fp,"%s %s",buf,rbuf);
		if(rew<=0)
		{
			puts("账号未注册or账号密码不正确");
			break;
		}
		if(strcmp(id,buf)==0 && strcmp(password,rbuf)==0)
		{
			puts("登录成功");
			break;
		}
	}
	fclose(fp);

}
void do_register()
{
	char id[20],password[20];
	puts("请输入你要注册的账号");
	fgets(id,sizeof(id),stdin);
	puts("请输入你要注册的密码");
	fgets(password,sizeof(password),stdin);
	
	id[strlen(id)-1]='\0';
	password[strlen(password)-1]='\0';

	FILE*fp=NULL;
	if((fp=fopen("id.txt","a+"))==NULL)
	{
		perror("fopen error");
		return;
	}
	int rew=fprintf(fp,"%s %s\n",id,password);
	if(rew<0)
	{
		puts("注册失败");
	}
	else
	{
		puts("注册成功");

	}
	fclose(fp);
}
int main(int argc, const char *argv[])
{
	while(1)
	{
		system("clear");
		printf("\t\t************登录界面***********\n");
		printf("\t\t************1、登录***********\n");
		printf("\t\t************2、注册***********\n");
		printf("\t\t************3、退出***********\n");
		int n;
		printf("请输入你要选择的功能\n");
		scanf("%d",&n);
		getchar();
		switch(n)
		{
		case 1:
			do_login();
			break;
		case 2:
			do_register();
			break;
		case 3:
			exit(EXIT_SUCCESS);
			break;
		default:
			puts("您输入的功能有误,请重新输入");
		}
		puts("输入任意键当回车结束");
		while(getchar()!='\n');
	}
	return 0;
}

 

 

4>    思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/394922.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3D模型素材哪家好?推荐六大优质3D模型资源库!

如今越来越多的设计师在寻找合适的3D模型素材用于设计项目中&#xff0c;帮助自己提高工作效率。然而&#xff0c;市面上的3D模型素材琳琅满目&#xff0c;质量参差不齐。那么&#xff0c;哪家的3D模型素材比较好呢?本文将为你推荐六大优质3D模型资源库&#xff0c;助你轻松找…

《2024巨量引擎日化行业白皮书》丨附下载

✦ ✦✦ ✦✦ ✦✦ ✦ 中国日化行业在2022年短暂承压之后&#xff0c;随着生活恢复常态&#xff0c;迎来新的发展契机&#xff0c;2023年呈回稳向上态势。以抖音为代表的内容电商是行业增长的主要驱动力&#xff0c;内容场和货架场互通互联&#xff0c;促进行业全域化释放潜能…

信息安全风险管理

信息安全风险管理 系统外部可能造成的损害,称为威胁;系统内部可能造成的损害,称为脆弱性。系统风险则是威胁利用脆弱性造成损坏的可能性。 蛋的裂缝可以看作“鸡蛋”系统的脆弱性,而苍蝇可以看作威胁,苍蝇叮有缝的蛋表示威胁利用脆弱性造成了破坏。 风险评估 风险评估就…

OpenAI全新发布文生视频模型:Sora!

OpenAI官网原文链接&#xff1a;https://openai.com/research/video-generation-models-as-world-simulators#fn-20 我们探索视频数据生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和…

一键安装ROS适用于Ubuntu22/20/18

一键安装ROS适用于Ubuntu22/20/18 1、简介 ROS&#xff08;Robot Operating System&#xff0c;机器人操作系统&#xff09;是一个用于机器人软件开发的框架。它提供了一套工具和库&#xff0c;用于机器人应用程序的开发、测试和部署。ROS是由美国斯坦福大学机器人实验室&…

AlexNet的出现推动深度学习的巨大发展

尽管AlexNet&#xff08;2012&#xff09;的代码只比LeNet&#xff08;1998&#xff09;多出几行&#xff0c;但学术界花了很多年才接受深度学习这一概念&#xff0c;并应用其出色的实验结果。 AlexNet&#xff08;由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton共同设计…

Linux------环境变量

目录 前言 一、环境变量 二、添加PATH环境变量 三、HOME环境变量 四、查看所有环境变量 1.指令获取 2.代码获取 2.1 getenv 2.2main函数的第三个参数 2.3 全局变量environ 五、环境变量存放地点 六、添加自命名环境变量 七、系统环境变量具有全局属性 八、环境变…

CrossOver For Mac v24.0.0 让Mac可以运行Windows程序的工具

CrossOver For Mac v24.0.0 可以在 Mac 上运行成千上万的 Windows 程序。从办公软件、实用工具、游戏到设计软件&#xff0c;您只需在 Mac 的 dock 轻按一下便可运行。您可以 Windows 程序和 Mac 程序之间随意切换&#xff0c;而这一切无需重启、无需虚拟机&#xff0c;也无需购…

前后端分离(delivery-management)部署文档

1. 前端项目:delivery-management 1.1. 前端项目打包 执行命令:npm run build 或者yarn run build,生成dist目录。 构建流程如下图: 1.2. 文件上传 将打包好的前端项目(dist目录),上传到服务器,并拷贝到nginx安装目录html目录下。 执行上传命令(sftp):put -r E:\…

研狗插件解压密码

请搜索淘宝店铺 模型算法专家店

一起玩儿物联网人工智能小车(ESP32)——63 SD和TF卡模块的使用

摘要&#xff1a;本文介绍SD和TF卡模块的使用方法 前面介绍了非易失性存储的使用方法&#xff0c;由于空间和本身只支持键值对的限制&#xff0c;非易失性存储只适用于少量数据的记录。而不适用于各种声音、图片、大量数据等情况的使用。这时候就需要有文件系统或者更大容量存…

卫星热平衡试验与太阳光模拟器

卫星热模型是一种用于研究卫星的热特性的模型。卫星在太空中接收到的太阳辐射会导致其表面温度的变化&#xff0c;而表面温度的变化会影响卫星的热传导和热辐射&#xff0c;进而影响其冷却和热平衡。 卫星热模型一般涉及以下几个方面的内容&#xff1a; 1. 热辐射模型&#xf…

vue-productionSourceMap作用

当其设置为false时(productionSourceMap: false) 当其设置为true时(productionSourceMap: true) 注:1.当设置为true时,打包后每个文件都有一个.map文件,其目的是为了精确定位代码错误 2.当设置为false时,可减少项目打包大小 3.正式环境禁止使用true,因为其可通过反编译.map文件…

医生门诊涉众利益-《软件方法》自测题解析39

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《软件方法》第6章自测题1 1 [ 单选题 ] 关于用例规约&#xff0c;以下说法正确的是&#xff1a; A) 针对同一个用例&#xff0c;应该为研发团队不同角色准备不同视角的用例规约。…

【7】知识融合

知识融合&#xff08;也称本体对齐、本体匹配、实体对齐&#xff09;&#xff0c;即合并两个知识图谱(本体)&#xff0c;基本的问题都是研究怎样将来自多个来源的关于同一个实体或概念的描述信息融合起来。 需要确认的是&#xff1a; 等价实例&#xff1a;实体的匹配&#xf…

Spring Boot 笔记 024 登录页面

1.1 登录接口 //导入request.js请求工具 import request from /utils/request.js//提供调用注册接口的函数 export const userRegisterService (registerData)>{//借助于UrlSearchParams完成传递const params new URLSearchParams()for(let key in registerData){params.a…

51-2 万字长文,深度解读端到端自动驾驶的挑战和前沿

去年初&#xff0c;我曾打算撰写一篇关于端到端自动驾驶的文章&#xff0c;发现大模型在自动驾驶领域的尝试案例并不多。遂把议题扩散了一点&#xff0c;即从大模型开始&#xff0c;逐渐向自动驾驶垂直领域靠近&#xff0c;最后落地到端到端。这样需要阐述的内容就变成LLM基础模…

CyberDAO:web3时代的引领者

Web3.0正在改写着世界运行的规则&#xff0c;AGI将为人类未来的生产效率、工作方式与目标带来改变&#xff0c;区块链经过十余年发展开启了去中心化新格局&#xff0c;带来生产关系的变革。人类正在从过往以时间换取收入、听命完成工作&#xff0c;转变为以个性化、自主追求人生…

广西物理杂志广西物理杂志社广西物理编辑部2024年第3期目录

专题论析 石笋中放射性核素高纯锗分析方法 王一飞;杨济瑜;欧阳河;梁芳;韦尚佑;沈洪涛; 1-6 基于机器学习方法的快速射电暴分类研究 孙万鹏;张富文; 7-1623《广西物理》投稿&#xff1a;cn7kantougao163.com 基于STM32的简易数字示波器设计 庞成康;黎海明;舒向航;李…

【web安全】渗透测试实战思路

步骤一&#xff1a;选目标 1. 不建议太小的公司&#xff08;可能都是请别人来开发的&#xff0c;用现成成熟的框架&#xff09; 2. 不建议一线大厂&#xff1a;腾讯&#xff0c;字节&#xff0c;阿里等&#xff0c;你懂的 3. 不建议政府部门&#xff0c;安全设备多&#xff…
最新文章