2024.2.18

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

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	FILE *fp=NULL;
	if((fp=fopen("./test.txt","w"))==NULL)
	{
		perror("open err");
		return -1;
	}
	fputc('h',fp);
	fputc('\n',fp);
	fputc('e',fp);
	fputc('l',fp);
	fputc('\n',fp);
	fputc('\0',fp);
	fclose(fp);
	int line=0;
	if((fp=fopen("./test.txt","r"))==NULL)
	{
		perror("open err");
		return -1;
	}
	char ch=0;
	while(1)
	{
	   ch=fgetc(fp);
	  if(ch=='\n')
	  {
		  line++;
	  }
	  else if(ch==EOF)
	  {
		  line++;
		  break;
	  }
	}
	printf("%d\n",line);
	fclose(fp);
    return 0;
}

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

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	FILE *fp=NULL;
	FILE *fp1=NULL;
	if((fp=fopen("./test.txt","w"))==NULL)
	{
		perror("open err");
		return -1;
	}
	fputs("hello",fp);
	fclose(fp);
	if((fp=fopen("./test.txt","r"))==NULL)
	{
		perror("open err");
		return -1;
	}
	char ch[1000]="";
	if((fp1=fopen("./test1.txt","w"))==NULL)
	{
		perror("open err");
		return -1;
	}
	while(1)
	{
		char *c=fgets(ch,sizeof(ch),fp);
	  if(c==NULL)
	  {
		  break;
	  }
	  else 
	  {
          fputs(ch,fp1);
	  }

	}
	fclose(fp);
	fclose(fp1);
    return 0;
}

完成注册登录功能

做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中

功能2是登录功能,提示并输入登录账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登录失败

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
	FILE *fp=NULL;
	FILE *fp1=NULL;
	while(1)
	{
	printf("登录界面\n");
	printf("1.注册\n");
	printf("2.登录\n");
	printf("0.退出\n");
	int  meau=0;
	char username [10000]="";
	char password[10000]="";
	char username1[10000]="";
	char password1[10000]="";
	scanf("%d",&meau);
	switch(meau)
	{
	case 1:
		{
			printf("username:\n");
			scanf("%s",username);
			int lenname=strlen(username);
			if((fp=fopen("./username.txt","w"))==NULL)
			{
					puts("open err");
					return -1;
			}
			for(int i=0;i<lenname;i++)
			{
		       fprintf(fp,"%c",username[i]);
			}
			fclose(fp);
			printf("password:\n");
			scanf("%s",password);
			int lenpass=strlen(password);
			if((fp1=fopen("./password.txt","w"))==NULL)
			{
					puts("open err");
					return -1;
			}
			for(int i=0;i<lenpass;i++)
			{
			fprintf(fp1,"%c",password[i]);
		}
			fclose(fp1);
		}
		break;
	case 2:
		{
				printf("username:\n");
				scanf("%s",username);
				int lenname=strlen(username);
         			printf("password:\n");
		        	scanf("%s",password);
			int lenpass=strlen(password);
			if((fp=fopen("./username.txt","r"))==NULL)
			{
					puts("open err");
					return -1;
			}
			if((fp1=fopen("./password.txt","r"))==NULL)
			{
					puts("open err");
					return -1;
			}
			for(int i=0;i<lenname;i++)
			{
				fscanf(fp,"%c",&username1[i]);
			}
			for(int i=0;i<lenpass;i++)
			{
			fscanf(fp1,"%c",&password1[i]);
			}
			int len=lenname>lenpass?lenname:lenpass;
			for(int i=0;i<len;i++)
			{
			if (password[i]==password1[i]&&username[i]==username1[i])
			{
				if(i+1==len)
				{
				puts(username);
				puts(password);
				puts("success");
			}
			}
			else if (password[i]!=password1[i]&&username[i]!=username1[i])
			{
             puts("error");
			 break;
			}

		}
		}
		break;
	case 0:goto END;
	default:puts("input cd is error");
	}
	}
END:
	return 0;
}

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

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

相关文章

浅析Linux设备驱动:IO端口和IO内存

文章目录 概述IO端口和IO内存的区别 IO资源管理IO资源类型IO端口资源IO内存资源 IO资源分配 IO端口访问IO端口操作函数 IO内存访问IO内存操作函数 相关参考 概述 在计算机系统中&#xff0c;外部设备通常会提供一组寄存器或内存用于处理器配置和访问设备功能。这些寄存器或内存…

介绍7款免费的最佳地图/导航/定位/GIS开源项目

文章目录 1、xdh-map新德汇地图应用类库1.1、独立引用1.2、与MyUI结合使用1.3、快速上手1.3.1、采用项目工程模板创建项目【推荐】1.3.2、 调用组件库功能 2、蚂蚁金服AntV-L7地理空间数据可视分析引擎2.1、AntV-L7简介2.2、核心特性2.3、支持丰富的图表类型2.4、如何使用2.4.1…

windows 启动和关闭mysql

1)打开我的电脑-->2)在左边文件中右键此电脑--> 3)点击管理-->4)点击服务和应用程序-->5)点击服务-->6)查找自己MySQL名称 右击 启动或者关闭

一、直方图相关学习

1、灰度直方图 1.1 基本概念和作用 表示图像中每个灰度级别的像素数量。用于分析图像的亮度分布情况。 1.2 代码示例 参数介绍 hist cv2.calcHist(images, channels, mask, histSize, ranges, hist, accumulate)-images&#xff1a;输入图像的列表。对于灰度图像&#xff0…

vue3-渲染机制

渲染机制 Vue 是如何将一份模板转换为真实的 DOM 节点的&#xff0c;又是如何高效地更新这些节点的呢&#xff1f;我们接下来就将尝试通过深入研究 Vue 的内部渲染机制来解释这些问题。 虚拟 DOM 你可能已经听说过“虚拟 DOM”的概念了&#xff0c;Vue 的渲染系统正是基于这…

阿里云香港轻量应用服务器是什么线路?cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

317. 多关键字排序

/** Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.*/package ahwoj;import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner;/*** 题目说排序关键字优先级依次降低&#xff0c;那就是说&…

C 语言 ConsoleRogueLike 控制台肉鸽游戏 DEVC++ VS2022都可用

使用 C 语言和 windows 的键盘检测函数和延迟函数&#xff0c;开发的控制台 roguelike 游戏 点开 .exe 文件立即进入游戏 AWSD 移动 J 攻击 K 加成buff 没有结束条件&#xff0c;除非碰到敌人。 其他模块功能还没来得及开发 author : 民用级脑的研发记录 DEVC 项目工程代码副本…

【机构vip教程】Appium自动化(2):Python+Appium环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下&#xff1a; 1、安装jdk并配置好环境变量&#xff08;jdk版本1.8以上&#xff09; 2、安装android-sdk并配置好环境变量&#xff1b;具体步骤见&#xff1a;https://www.cnblogs.com/YouJeffrey/p/15243705.html 3、安装安…

是面试官放水,还是公司实在是太缺人?,字节原来这么容易进...

字节是大企业&#xff0c;是不是很难进去啊&#xff1f;” “在华为做软件测试&#xff0c;能得到很好的发展吗&#xff1f; 一进去就有19.5K&#xff0c;其实也没有想的那么难” 直到现在&#xff0c;心情都还是无比激动&#xff01; 本人211非科班&#xff0c;之前在华为…

嵌入式学习-C++-Day6

思维导图 作业 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一…

3年,5年,10年,网工人必看!

你们好&#xff0c;我是老杨。 2023年的职场上&#xff0c;无数人在思考“什么时候才能提前退休”这个问题。 对很多底层网工来说&#xff0c;二三十岁的年纪&#xff0c;距离60岁退休还有30年左右&#xff0c;是不是会觉得有点遥遥无期&#xff0c;毫无盼头&#xff1f; 现…

物奇平台ENC算法开关接口修改方法

物奇ENC算法开关接口修改 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 1 配置工具 2 代码接口

Ansible fetch 模块 该模块用于从远程某主机获取(复制)文件到本地

这里写目录标题 参数实例查看返回结果在这里插入图片描述 参数 dest&#xff1a;用来存放文件的目录 src&#xff1a;在远程拉取的文件&#xff0c;并且必须是一个file&#xff0c;不能是**目录* 实例 ansible slave -m fetch -a src/data/hello.txt dest/data/可以看到一个…

2024年【安全员-C证】报名考试及安全员-C证考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证报名考试参考答案及安全员-C证考试试题解析是安全生产模拟考试一点通题库老师及安全员-C证操作证已考过的学员汇总&#xff0c;相对有效帮助安全员-C证考试资料学员顺利通过考试。 1、【多选题】《工伤保险…

软件实例分享,台球厅收费系统电脑桌球店计时软件及灯控线路图教程

软件实例分享&#xff0c;台球厅收费系统电脑桌球店计时软件及灯控线路图教程 一、前言 以下软件程序教程以 佳易王桌球室计时计费软件V17.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、每个桌子对应的有 开台时间&#xff0c;所用的时…

java数据结构与算法刷题-----LeetCode594. 最长和谐子序列

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 子序列要尽可能长&#xff0c;并且最大值和最小值之间的差&#…

Python教程(27)——如何使用Python中的上下文管理器

当我们在编写代码时&#xff0c;经常会遇到需要管理资源的情况&#xff0c;比如打开和关闭文件&#xff0c;如果遇到了一些异常情况&#xff0c;我们需要关闭资源&#xff0c;不然会导致资源泄露&#xff0c;虽然我们可以通过手动的方式来关闭&#xff0c;但如果有多个异常情况…

基于Springboot的新能源充电系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的新能源充电系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…

MyBatisPlus 整合 SpringBoot 遇见的问题

【异常】&#xff1a;Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’… SQL: SELECT id,oper_id,btch_id,udf1, FROM scan_cyber Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’; ,"messag…