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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法练习-赎金信(思路+流程图+代码)

难度参考 难度&#xff1a;中等 分类&#xff1a;哈希表 难度与分类由我所参与的培训课程提供&#xff0c;但需要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0c;旨…

数智化转型|两大电网、五大发电2024年重点工作路线图!

2024年1月&#xff0c;两大电网、五大发电集团陆续召开2024年工作会议&#xff0c;明确了2024年工作目标及重点路线图。从工作会议内容来看&#xff0c;不难发现&#xff0c;加快推动数智化转型&#xff0c;建设新型电力系统成为几大集团未来共同发展目标。会议内容如下&#x…

大数据,对于生活的改变

谷歌通过对于疾病的查询量可以预测一个个h1n1病毒的大爆发&#xff0c; 大数据时代对于人的考验 用户的搜索记录就是一种信息&#xff0c;这种信息会满足其基础相关的词条与其有关的词条&#xff08;最为原始的搜索机制&#xff0c;国内的搜索引擎都是采用这种基础原理。&…

从源代码安装 rocSOLVER 并 调试 rocSOLVER 在 Ubuntu 22.04 平台

0, 下载并编译 rocBLAS 的调试版本 sudo apt install python3.10-venv sudo apt install libmsgpack-dev sudo pip install joblibgit clone --recursive https://github.com/ROCm/rocBLAS.git $ cd rocBLAS/ $ ./install.sh -i -g构建时间也不短 1&#xff0c;下载并编译 roc…

【数据结构与算法】手搓JDK底层ArrayList底层 - 动态数组

数组 在介绍数组之前&#xff0c;我们先来看一段chatGPT给出的对于数组描述&#xff1a; 数组&#xff08;Array&#xff09;是一种线性数据结构&#xff0c;它由一组连续的内存空间组成&#xff0c;用来存储相同类型的数据元素。数组具有固定的大小&#xff0c;一旦创建后&a…

分享几个丝滑oled代码

最近一段业余时间在捣鼓esp32&#xff0c;发现对于一个搞diy的来说&#xff0c;它的生态&#xff0c;不管是开发环境、氛围还是可玩度都是独一挡的&#xff0c;国内外基于此的扩展真是太多了&#xff0c;找了几个通过按键/旋钮进行0.96寸OLED控制的案例&#xff0c;超级丝滑&am…

SQL中的各种连接的区别总结

前言 今天主要的内容是要讲解SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别和用法&#xff0c;不用我说其实前面的这些基本SQL语法各位攻城狮基本上都用过。但是往往我们可能用的比较多的也就是左右连接和内连接了&#xff0c;而且对于许多初学…

JavaSE-02笔记【封装~this和static】

文章目录 1.封装&#xff08;掌握&#xff09;1.1 封装的理解1.2 不封装存在的问题1.3 怎么封装1.4 难点解惑1.5 练习 2. this 和 static2.1 this&#xff08;掌握&#xff09;2.1.1 this是什么2.1.2 this 在实例方法中使用2.1.3 this访问实例变量2.1.4 this扩展①2.1.5 this扩…

神秘网址ing

海拥 | 开发文档服务器 | Java、Python、前端学习资料 好玩的网址 加个社区吧 摸鱼社区

量子算法入门——3.狄拉克符号与量子态(2)

2. 光的极化和S-G实验 光的极化&#xff1a;表达出一方向电场的振动方式 S-G实验 银原子内部介绍 S-G实验过程 在炉子中将银原子高温灼烧&#xff0c;高温使得银原子具有极大的动能&#xff0c;从炉口向四周发射出来&#xff0c;炉口前设置两个小门构成两点一线&#xff…

python语言常见面试题:Python中的*args和**kwargs是什么?请给出使用它们的场景。

在Python中&#xff0c;*args和**kwargs是两种用于处理函数参数的特殊语法。它们允许你在函数定义中接收任意数量的参数&#xff0c;无论是位置参数还是关键字参数。 *args *args用于接收任意数量的位置参数&#xff0c;并将它们保存为一个元组&#xff08;tuple&#xff09;…

2024前端面试准备之HTML篇

全文链接 1. doctype的作用是什么 DOCTYPE是html5标准网页声明,且必须声明在HTML⽂档的第⼀⾏。来告知浏览器的解析器⽤什么⽂档标准解析这个⽂档,不同的渲染模式会影响到浏览器对于 CSS 代码甚⾄ JavaScript 脚本的解析 ⽂档解析类型有: BackCompat:怪异模式,浏览器使…

inline内联函数为什么不能是虚函数?

1. inline内联函数为什么不能是虚函数&#xff1f; 虚函数可以是内联函数&#xff0c;内联是可以修饰虚函数的&#xff0c;但是当虚函数表现多态性的时候不能内联。 理由如下&#xff1a;内联是在发生在编译期间&#xff0c;编译器会自主选择内联&#xff0c;而虚函数的多态性…

5.13 BCC工具之urandomread.py简介

一,工具简介 urandomread工具用于演示如何在内核跟踪点进行插桩。 二,代码示例 注意,该示例要求内核版本Linux 4.7+(并在内核编译选型中使能BPF_PROG_TYPE_TRACEPOINT)。 #!/usr/bin/pythonfrom __future__ import print_function from bcc import BPF from bcc.utils…

Centos7挂载磁盘

1 查看未挂载的磁盘 命令&#xff1a; fdisk -l红框圈中的即是本次要挂载的磁盘&#xff0c;/dev/vdb 与 /dev/vda 相比&#xff0c;其没有下方的 /dev/vda1 等信息&#xff0c;代表 /dev/vdb 磁盘并没有进行过分区操作&#xff0c;是一个新加的硬盘。 2 对新建的磁盘进行分…

基于SSM的宁夏旅游网站平台(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的宁夏旅游网站平台&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring …

CDF和PDF的比较

以下内容来自ChatGPT&#xff0c;科技改变生活 Cumulative Distribution Function (CDF)&#xff08;累积分布函数&#xff09;和 Probability Density Function (PDF)&#xff08;概率密度函数&#xff09;是统计学和概率论中两个重要的概念&#xff0c;用于描述随机变量的性…

K8S之运用污点、容忍度设置Pod的调度约束

污点、容忍度 污点容忍度 taints 是键值数据&#xff0c;用在节点上&#xff0c;定义污点&#xff1b; tolerations 是键值数据&#xff0c;用在pod上&#xff0c;定义容忍度&#xff0c;能容忍哪些污点。 污点 污点是定义在k8s集群的节点上的键值属性数据&#xff0c;可以决…

Open CASCADE学习|管道建模

​这是用Open CASCADE Technology (OCCT)库来创建一个管道模型的示例。OCCT是一个开源的几何建模库&#xff0c;广泛应用于CAD/CAM/CAE和其他几何建模应用中。 在下面的代码中&#xff0c;首先创建了一些点&#xff0c;并用这些点来构建B样条曲线&#xff0c;进而创建边(Edges…

Java+Vue+MySQL,国产动漫网站全栈升级

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…