C语言文件操作练习题

1.创建一个 1.txt 文件,在里面存储一个字符 S,并将它读取出来输出到屏幕上。

#include <stdio.h>
/*
创建一个 1.txt 文件,在里面存储一个字符 S,并将它读取出来输出到屏幕上
*/
int main()
{FILE *fp=fopen("1.txt","w+");//创建并打开一个1.txt文件,设置为读写,清空打开,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}char w_ch=0,r_ch=0;printf("请输入一个字符:\n");scanf("%c",&w_ch);getchar();fputc(w_ch,fp);//单字符写rewind(fp);//光标返回到文件开头r_ch=fgetc(fp);//r_ch接收读取的单字符fclose(fp);//关闭文件fprintf(stdout,"r_ch=%c\n",r_ch);//格式化写入,stdout表示屏幕文件描述符,后面内容格式和printf一样return 0;
}

2.创建一个 2.txt 文件,将你的姓名,地址信息(省,市)存储到文件里面。

#include <stdio.h>
/*
创建一个 2.txt 文件,将你的姓名,地址信息(省,市)存储到文件里面
*/
int main()
{FILE *fp=fopen("2.txt","w+");//创建并打开一个2.txt文件,设置为读写,清空打开,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}struct Addr{char name[32];char addr[32];};struct Addr member[10]={0};int num=0,i=0;printf("输入信息的个数:\n");scanf("%d",&num);for(i=0;i<num;i++){printf("请输入姓名:\n");scanf("%s",member[i].name);getchar();printf("请输入地址:\n");scanf("%s",member[i].addr);getchar();}fprintf(fp,"姓名  地址\n");for(i=0;i<num;i++){fprintf(fp,"%s %s\n",member[i].name,member[i].addr);}fclose(fp);//关闭文件return 0;
}

3.判断 200 以内的素数,将素数保存在文件里面(带格式)。

#include <stdio.h>
/*
创建一个 2.txt 文件,将你的姓名,地址信息(省,市)存储到文件里面
*/
int main()
{FILE *fp=fopen("2.txt","w+");//创建并打开一个2.txt文件,设置为读写,清空打开,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}struct Addr{char name[32];char addr[32];};struct Addr member[10]={0};int num=0,i=0;printf("输入信息的个数:\n");scanf("%d",&num);for(i=0;i<num;i++){printf("请输入姓名:\n");scanf("%s",member[i].name);getchar();printf("请输入地址:\n");scanf("%s",member[i].addr);getchar();}fprintf(fp,"姓名  地址\n");for(i=0;i<num;i++){fprintf(fp,"%s %s\n",member[i].name,member[i].addr);}fclose(fp);//关闭文件return 0;
}

4.打开文件 2.txt 文件(编程第二题),判断里面的地址是否在河南省郑州市,如果是,输出姓名。

#include <stdio.h>
#include <string.h>
/*
打开文件 2.txt 文件(基础题编程第二题),判断里面的地址是否在河南省郑州市,如果是,输出姓名
*/
int main()
{FILE *fp=fopen("2.txt","r");//创建并打开一个2.txt文件,设置为只读,打开,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}struct Addr{char name[32];char addr[32];};struct Addr member[10]={0};int i=0;fscanf(fp,"姓名  地址\n");int ch=(int)fgetc(fp);fseek(fp,-1,SEEK_CUR);while(ch!=-1){fscanf(fp,"%s %s\n",member[i].name,member[i].addr);if((strcmp("河南省郑州市",member[i].addr))==0){printf("%s\n",member[i].name);}i++;ch=(int)fgetc(fp);fseek(fp,-1,SEEK_CUR);}fclose(fp);//关闭文件return 0;
}

5.将输入 0-15 的 10 进制转换成 2 进制。 并将转换结果保存到文件里面文件里面存储格式:
十进制 二进制

0          0 

……
4          100

……

15        1111

#include <stdio.h>
#include <string.h>
/*
将输入 0-15 的 10 进制转换成 2 进制。 并将转换结果保存到文件里面文件里面存储格式:
十进制 二进制
4 	  100
*/
int main()
{FILE *fp=fopen("二进制.txt","w+");//创建并打开一个txt文件,设置为读写,打开清空,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}int i=0;//0~15int num[4]={0};int a=0,n=0;fprintf(fp,"十进制 二进制\n");for(i=0;i<=15;i++){a=i;while(a!=0){num[n]=a%2;a=a/2;n++;}//printf("%-4d",i);fprintf(fp,"%-6d",i);if(i==0){fprintf(fp,"%d",0);}for(n--;n>=0;n--){//printf("%d",num[n]);fprintf(fp,"%d",num[n]);}//printf("\n");fprintf(fp,"\n");n=0;}fclose(fp);//关闭文件return 0;
}
//另一种打印到文件的方法
/*int main()
{FILE *fp=fopen("二进制.txt","w+");//创建并打开一个txt文件,设置为读写,打开清空,光标在文件开头if(fp==NULL){perror("fopen");//打印上方离perror最近的函数的错误原因return -1;}int i=0;//0~15int num[4]={0};int a=0,n=0;fprintf(fp,"十进制 二进制\n");for(i=0;i<=15;i++){a=i;while(a!=0){num[n]=a%2;a=a/2;n++;}//printf("%-4d",i);fprintf(fp,"%-6d",i);for(int j=3;j>=0;j--){//printf("%d",num[j]);fprintf(fp,"%d",num[j]);}//printf("\n");fprintf(fp,"\n");n=0;}fclose(fp);//关闭文件return 0;
}*/

(除了fprintf、fscanf函数外,fwrite、fread函数也可以实现对文件的读和写,后者将内容转换为二进制存储在文件中,因此使用时,fwrite、fread函数需要配合使用)

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

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

相关文章

TensorFlow-GPU安装

第一步&#xff1a;安装Anaconda、cuda以及对应的cudNN&#xff0c;其中TensorFlow-GPU对应版本如下图所示&#xff1a; 想看最新的话&#xff0c;可以看官方链接&#xff1a;https://www.tensorflow.org/install/source_windows?hlzh-cn 第二步&#xff1a;创建对应的虚拟环…

合并两个有序数组讲解

原题出处&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {} 将两个非递减顺序的数组进行合并&#xff0c;但是最后的数组仍然要非递减&#xff0c;也就是递增。 方法一&#xff1a…

在Windows上安装Go编译器并配置Golang开发环境

文章目录 1、安装Go语言编译程序1.1、下载GoLang编译器1.2、安装GoLang编译器 2、配置Golang IDE运行环境2.1、配置GO编译器2.1.1、GOROOT 概述2.1.2、GOROOT 作用2.1.2、配置 GOROOT 2.2、配置GO依赖管理2.2.1、Module管理依赖2.2.2、GOPATH 管理依赖 2.3、运行GO程序2.3.1、创…

训练专属私有大语言模型搭建个人或企业知识库

很多企业或个人都有这样的诉求,打造一个属于自己的个性化的AI助手,从而可以解放双手,将重复的问题交给AI,降本增效,把精力用在更重要的事情上。 针对个人,可以打造个人专属“数字分身”,专属个人知识库。 比如某网络大V,将自己过往的文章喂给GPT,打造了一个自己的数…

【面试经典 150 | 数学】直线上最多的点数

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;枚举直线遍历统计方法二&#xff1a;枚举斜率哈希统计 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并…

改进的注意力机制的yolov8和UCMCTrackerDeepSort的多目标跟踪系统

基于yolov8和UCMCTracker/DeepSort的注意力机制多目标跟踪系统 本项目是一个强大的多目标跟踪系统&#xff0c;基于[yolov8]链接和[UCMCTracker/DeepSot]/链接构建。 &#x1f3af; 功能 多目标跟踪&#xff1a;可以实现对视频中的多目标进行跟踪。目标检测&#xff1a;可以实…

SSM框架:深入解析与应用

SSM框架&#xff1a;深入解析与应用 SSM框架&#xff0c;即Spring SpringMVC MyBatis的组合&#xff0c;是一种用于开发Java Web应用程序的三大主流框架的整合。这一框架组合为开发者提供了高效、灵活且易于维护的开发平台&#xff0c;广泛应用于中小型项目和企业级应用中。…

redis介绍以及缓存击穿、雪崩、穿透

Redis是一个开源的内存数据库&#xff0c;它可以用作缓存、消息队列、会话存储等多种用途。Redis支持多种数据结构&#xff0c;包括字符串、列表、哈希表、集合、有序集合等&#xff0c;并提供了丰富的功能和命令集&#xff0c;使其成为一款强大而灵活的数据存储和处理工具。 …

在 VS Code 中使用 GitHub Copilot

Code 结合使用。 GitHub Copilot 是什么 GitHub Copilot 是一个可以帮助你更简单、更快速地编写代码的工具&#xff0c;由 GPT-3 提供支持。你只需编写所需代码的描述——例如&#xff0c;编写一个函数来生成一个随机数&#xff0c;或对一个数组进行排序——Copilot 就会为你…

【Docker】docker原理及使用-1

Docker目录 1️⃣概念2️⃣使用容器的好处2️⃣docker和普通软件启动方式的区别2️⃣docker和传统虚拟机的区别 1️⃣下载安装2️⃣安装步骤 1️⃣必须要掌握的核心概念1️⃣命令2️⃣例子2️⃣练习题目2️⃣进入一下python环境(简洁) 1️⃣解释一下 redis1️⃣docker底层隔离机…

L3 【哈工大_操作系统】操作系统启动

本节要点&#xff1a; 1、理解 OS 启动过程发生了什么&#xff0c;理解 OS 与 硬件 与 应用 之间的关系 2、本节讲解了 setup 模块 和 system 模块实现的功能 1、计算机上电时&#xff0c;操作系统在硬盘&#xff08;磁盘&#xff09;上&#xff0c;为了“取指执行”&#xff0…

康姿百德床垫抗干扰设计,保证你和伴侣睡眠不受影响

康姿百德官网价格公开透明&#xff0c;床垫价格合理质量安全可靠 在我们的一生中&#xff0c;睡眠的时间占据我们生活的大部分。在繁忙的一天结束时&#xff0c;没有什么比沉浸在舒适床垫的温柔拥抱中更让人期待的&#xff0c;让您在睡眠过程中释放一整天的疲惫。康姿百德床垫…

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…

基于Spring Boot的入职匹配推荐系统设计与实现

基于Spring Boot的入职匹配推荐系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 管理员登录界面&#xff0c;登录成功后进入到系统操…

面试经典150题——二叉树的最大深度

1. 题目描述 ​ 2. 题目分析与解析 这个题目有过一定基础的都应该知道&#xff0c;采用递归解决问题&#xff0c;因为要求一个二叉树的深度&#xff08;也就是高度&#xff09;&#xff0c;其实上就是根节点的左子树和右子树中高度最高的那个。因此这个问题就可以拆解为&…

Java常见数据结构

数组 int a new int[10]; int a {1,2,3,4,5}; ​ a.length Arrays.toString(a) Arrays.copyOf(a,a.length) ​ Arrays.binarySearch(a,4) 链表 ArrayList ArrayList<Integer> list new ArrayList<>(); ​ list.add(a); list.add(a,index); ​ list.remove(i…

Python爬虫-京东商品评论数据

前言 本文是该专栏的第68篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者有详细介绍京东滑块验证码的解决方法,感兴趣的同学,可以直接翻阅文章《Python如何解决“京东滑块验证码”(5)》进行查看。 而本文,笔者以京东商品详情页的评论数据为例,通过…

悠络客亮相第十届智慧商业数字化运营高峰论坛

2024年4月12日&#xff0c;由中国零售&#xff08;餐饮&#xff09;CIO俱乐部、《智慧零售与餐饮》新媒体主办的“2024第十届智慧商业数字化运营高峰论坛暨中国零售CIO俱乐部春季思享会”在北京举办。 来自全国各地的商超、便利、生鲜、百货、购物中心、快消品、食品/酒水/鞋服…

探索分布式技术--------------注册中心zookeeper

目录 一、ZooKeeper是什么 二、ZooKeeper的工作机制 三、ZooKeeper特点 四、ZooKeeper数据结构 五、ZooKeeper应用场景 5.1统一命名服务 5.2统一配置管理 5.3统一集群管理 5.4服务器动态上下线 5.5软负载均衡 六、ZooKeeper的选举机制 6.1第一次启动选举机制 6.2非…

国债逆回购交易攻略!

购买国债逆回购的步骤可以按照以下流程进行&#xff1a; 1. 开通证券账户&#xff1a; 首先&#xff0c;您需要拥有一个证券账户&#xff08;也称股票账户&#xff09;。可以通过选择一家信誉良好、服务优质的证券公司进行线上开户。联系券商服务经理&#xff0c;沟通了解不同公…