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

用二进制方式向文件读写一组数据

【例10.4】从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。 

#include<stdio.h>
struct Student{char name[20];int number;int age;
};
int main(){int i;struct Student stu;FILE *fp;fp = fopen("1.txt","wb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<10;i++){scanf("%s %d %d",stu.name,&stu.number,&stu.age);fwrite(&stu,sizeof(stu),1,fp);}return 0;
}

输入: 

刘一 1001 18
陈二 1002 19
张三 1003 20
李四 1004 30
王五 1005 40
赵六 1006 41
孙七 1007 23
周八 1008 25
吴九 1009 27
郑十 1010 28

从1.txt文件中读入数据,然后在屏幕上输出。

第一种:数据读入到结构体

int main(){struct Student stu;FILE *fp;int i;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<10;i++){fread(&stu,sizeof(stu),1,fp);printf("%s %d %d\n",stu.name,stu.number,stu.age);}return 0;
}

第二种:数据读入到结构体数组中

int main(){struct Student stus[10];FILE *fp;int i;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}fread(stus,sizeof(struct Student),10,fp);for(i=0;i<10;i++){printf("%s %d %d\n",stus[i].name,stus[i].number,stus[i].age);}return 0;
}

【例10.6】在磁盘文件上存有10个学生的数据。要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。

int main(){struct Student stus[10];int i;FILE *fp;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<5;i++){fread(&stus[i],sizeof(struct Student),1,fp);	fseek(fp,sizeof(struct Student),SEEK_CUR);}for(i=0;i<5;i++){printf("%s %d %d\n",stus[i].name,stus[i].number,stus[i].age);}return 0;
}

相关文章:

用二进制方式向文件读写一组数据

【例10.4】从键盘输入10个学生的有关数据&#xff0c;然后把它们转存到磁盘文件上去。 #include<stdio.h> struct Student{char name[20];int number;int age; }; int main(){int i;struct Student stu;FILE *fp;fp fopen("1.txt","wb");if(fp N…...

WebChat——一个开源的聊天应用

Web Chat 是开源的聊天系统&#xff0c;支持一键免费部署私人Chat网页的应用程序。 开源地址&#xff1a;https://github.com/loks666/webchat 目录树 TOC ??? 开始使用 & 交流?? 开箱即用 [这里是代码001] 使用 Docker 部署[这里是代码002] 使用 Docker-compose …...

易语言 OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…...

12.19问答解析

概述 某中小型企业有四个部门&#xff0c;分别是市场部、行政部、研发部和工程部&#xff0c;请合理规划IP地址和VLAN&#xff0c;实现企业内部能够互联互通&#xff0c;同时要求市场部、行政部和工程部能够访问外网环境(要求使用OSPF协议)&#xff0c;研发部不能访问外网环境…...

重温设计模式--设计模式七大原则

文章目录 1、开闭原则&#xff08;Open - Closed Principle&#xff0c;OCP&#xff09;定义&#xff1a;示例&#xff1a;好处&#xff1a; 2、里氏替换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09;定义&#xff1a;示例&#xff1a;好处&#…...

【Python-中级】Python中的线程池:ThreadPoolExecutor

Python中的线程池:from concurrent.futures import ThreadPoolExecutor 在Python中,实现多线程编程的方法有很多,而ThreadPoolExecutor 是一个简单且高效的线程池工具。它提供了高层次的接口,用于并发地运行任务,同时隐藏了许多复杂的底层细节,非常适合日常的多线程任务…...

【终端工具】FinalShell v4.5.12 官方版

1.下载地址 【终端工具】FinalShell v4.5.12 官方版 2.简介 FinalShell是一款免费的跨平台远程管理工具&#xff0c;专为开发者和运维人员设计。它支持通过 SSH、SFTP 等方式连接到 Linux 和 Windows 服务器&#xff0c;提供类似于终端的操作界面。除了常规的远程登录功能&a…...

Windows11 家庭版安装配置 Docker

1. 安装WSL WSL 是什么&#xff1a; WSL 是一个在 Windows 上运行 Linux 环境的轻量级工具&#xff0c;它可以让用户在 Windows 系统中运行 Linux 工具和应用程序。Docker 为什么需要 WSL&#xff1a; Docker 依赖 Linux 内核功能&#xff0c;WSL 2 提供了一个高性能、轻量级的…...

基于SSM(Spring + Spring MVC + MyBatis)框架构建一个图书馆仓储管理系统

基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架构建一个图书馆仓储管理系统是一个涉及多个功能模块的项目&#xff0c;包括但不限于图书管理、读者管理、借阅管理、归还管理等。 1. 环境准备 确保你已经安装了以下工具和环境&#xff1a; Java Developmen…...

《智驱新材合成:AI 点亮创新路径之光》

在科技浪潮汹涌澎湃的当下&#xff0c;新材料的探寻成为众多领域突破发展瓶颈的关键钥匙。而人工智能&#xff08;AI&#xff09;作为前沿科技的璀璨星辰&#xff0c;正以其独特的创新光芒照亮新材料合成路径的未知之境&#xff0c;引发了科研界与产业界的广泛关注与热议&#…...

【C++ 基础】命名空间

命名空间 命名空间 头文件:内有许多库函数&#xff08;相当于书柜&#xff09;&#xff0c;对库函数进行管理 命名空间:内有许多函数&#xff08;相当于书柜的一个分区&#xff09;&#xff0c;对函数进行管理 语法格式 namespace 命名空间标识符{...命名空间成员}//花括号…...

120页PPT讲解ChatGPT如何与财务数字化转型的业财融合

此方案主要聚焦于利用ChatGPT技术与数字化转型推动业财融合&#xff0c;实现企业的价值最大化。首先&#xff0c;通过ChatGPT技术&#xff0c;企业可以构建生成式对话机器人&#xff0c;自动回答常见问题&#xff0c;减轻人工客服的压力&#xff0c;提高响应速度。这种机器人具…...

新闻网站的安全性:保护信息与用户隐私

2.1vue技术 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项…...

Flutter动画学习二

如何在 Flutter 中使用自定义动画和剪裁&#xff08;clipping&#xff09;实现一个简单的动画效果。 前置知识点学习 AnimationController AnimationController 是 Flutter 动画框架中的一个核心类&#xff0c;用于控制动画的生命周期和状态。它提供了一种灵活的方式来定义动…...

flutter教程01 flutter项目的目录结构

Flutter开发基础 Dart语言&#xff1a; Flutter使用Dart语言进行开发。你需要熟悉Dart的基本语法和特性&#xff0c;如变量、数据类型、函数、类、继承、接口等。 Flutter组件&#xff1a; Flutter提供了丰富的UI组件库&#xff0c;你可以使用这些组件来构建你的用户界面。了…...

微软在AI时代的战略布局和挑战

微软的CEO萨提亚纳德拉&#xff08;Satya Nadella&#xff09;在与投资人比尔格里&#xff08;Bill Gurley&#xff09;和布拉德格斯特纳&#xff08;Brad Gerstner&#xff09;的一场深度对话中&#xff0c;详细回顾了微软在AI时代的战略布局与所面临的挑战。这场对话不仅总结…...

QT:程序异常结束原因

在确定DLL库没有问题的情况下&#xff0c;大概率是因为以下两点问题导致程序异常结束。 1、程序中存在对象只声明&#xff0c;未创建就使用的情况。程序中只声明了一个对象QObject * object&#xff0c;未进行object new QObject就直接使用object。这样&#xff0c;程序编译构…...

Linux搭建TRELLIS详细流程

TRELLIS是最新的3D生成模型,官网地址如下: https://github.com/microsoft/TRELLIS 下面是详细的搭建流程。 由于是在Ubuntu系统上搭建的,下面操作仅限Ubuntu系统查看。 不过Windows系统大同小异,而且青龙大佬已经做了相关整理。 Windows系统的可以去看青龙大佬的b站视…...

红米Note 9 Pro5G刷小米官方系统

前言 刷机有2种方式&#xff1a;线刷 和 卡刷。 线刷 线刷&#xff1a;需要用电脑刷机工具&#xff0c;例如&#xff1a;XiaoMiFlash.exe&#xff0c;通过电脑和数据线对设备进行刷机。 适用场景&#xff1a; 系统损坏无法开机。恢复官方出厂固件。刷机失败导致软砖、硬砖的…...

仓颉编程语言功能剖析:从设计理念到实际应用

引言 随着编程语言的发展&#xff0c;越来越多新兴语言试图解决传统编程语言的痛点&#xff0c;其中华为推出的仓颉编程语言&#xff08;以下简称"仓颉"&#xff09;以其创新的理念和功能备受瞩目。仓颉以高效、易用、智能为核心设计目标&#xff0c;专注于提升开发…...

JavaWeb(一) | 基本概念(web服务器、Tomcat、HTTP、Maven)、Servlet 简介

1. 基本概念 1.1、前言 web开发&#xff1a; web&#xff0c;网页的意思&#xff0c;www.baidu.com静态 web html,css提供给所有人看的数据始终不会发生变化&#xff01; 动态 web 淘宝&#xff0c;几乎是所有的网站&#xff1b;提供给所有人看的数据始终会发生变化&#xf…...

五十一:HPACK如何减少HTTP头部的大小?

在现代的Web通信中&#xff0c;HTTP是最常用的协议。然而&#xff0c;随着网络应用程序的复杂化&#xff0c;HTTP头部的大小迅速增加&#xff0c;尤其是在HTTP/2中&#xff0c;由于其多路复用特性&#xff0c;多个请求和响应共享同一个连接&#xff0c;头部大小对性能的影响变得…...

windows11家庭版安装docker无法识别基于wsl2的Ubuntu

软件环境&#xff1a;windows11家庭版安装WSL2,Ubuntu22.04&#xff0c;docker4.34.2 问题描述&#xff1a;安装docker时&#xff0c;设置阶段无法识别Ubuntu22.04. 原因&#xff1a;windows11家庭版本默认没有Hyper-V 解决方案&#xff1a;将下述代码保存在新建记事本中&am…...

利用Spring Cloud Gateway Predicate优化微服务路由策略

利用Spring Cloud Gateway Predicate优化微服务路由策略 一、Predicate简介 Spring Cloud Gateway 是 Spring 生态系统中用于构建 API 网关的框架&#xff0c;它基于 Project Reactor 和 Netty 构建&#xff0c;旨在提供一种高效且灵活的方式来处理 HTTP 请求和响应。 Spring …...

谷歌浏览器的网络安全检测工具介绍

作为全球最受欢迎的浏览器之一&#xff0c;谷歌浏览器不仅提供了快速、便捷的浏览体验&#xff0c;还内置了一系列强大的网络安全检测工具&#xff0c;帮助用户识别潜在的网络威胁&#xff0c;保护个人隐私和数据安全。本文将详细介绍谷歌浏览器中的几项关键网络安全检测功能&a…...

Debian系统宝塔面板安装LiteSpeed Memcached(LSMCD)

参考链接 1. 官网指引&#xff1a; https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:lsmcd:installation 2. 安装OpenLiteSpeed官方LSMCD对象缓存替换Memcached详细图文教程 - 搬主题 实操记录&#xff1a; 首先LSMCD 默认的端口是11211&#xff0c;…...

termux下ubuntu换arm清华源

原官方源 deb http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted un…...

计算机网络——练习题

一. 单选题&#xff08;共27题&#xff0c;67.5分&#xff09; 1. (单选题)计算机网络的最突出的优点是____。 A. 运算速度快 B. 运算精度高 C. 存储容量大 D. 资源共享 我的答案: D:资源共享;正确答案: D:资源共享; 2.5分 答案解析&#xff1a; 2. (单选题)TCP/IP协…...

单机游戏《野狗子》游戏运行时提示dbghelp.dll缺失是什么原因?dbghelp.dll缺失要怎么解决?

《野狗子》游戏运行时提示dbghelp.dll缺失&#xff1a;原因与解决方案 在畅游《野狗子》这款引人入胜的游戏世界时&#xff0c;突然遭遇“dbghelp.dll缺失”的错误提示&#xff0c;无疑会给玩家的探险之旅蒙上一层阴影。作为一名深耕软件开发领域的从业者&#xff0c;我深知此…...

飞搭系列 | 条件动态控制,打造个性化数字体验

前言 汉得飞搭aPaaS低代码平台&#xff08;FEIDA&#xff0c;以下简称“飞搭”&#xff09;是基于低代码理念打造的融合 aPaaS 平台&#xff0c;助力企业快速搭建业务应用。作为 HZERO 生态的重要组成部分&#xff0c;致力于充分融合 HZERO 的各平台能力&#xff0c;提供企业用…...

ssr实现方案

目录 序言 一、流程 二、前端要做的事情 三、节点介绍 四、总结 序言 本文不是详细的实现过程&#xff0c;是让你最快最直接的理解ssr的真正实现方法&#xff0c;有前端经验的同学&#xff0c;能够很好的理解过程&#xff0c;细节根据具体项目实现 一、前端要做的事情 1.…...

STM32高级物联网通信之以太网通讯

目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应用场景 (1)互联网 (2)以太网 以太网的层次 1)物理层 2)数据链路层 OSI 7层模型 TCPIP 4层模型 一些常见…...

以太网帧、IP数据报图解

注&#xff1a;本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式&#xff08;包含相关例题讲解&#xff09; jueyuanfengsheng2023-08-07 11:49 一、基础知识 UDP 段、IP 数据包&#xff0c;以太网帧图示 通信过程中&#xff…...

外包干了两年,技术退步明显...

先说一下自己的情况&#xff0c;普通本科&#xff0c;曾在外包干了2年多的功能测试&#xff0c;再加上大环境不好&#xff0c;那时我整个人心惊胆战的&#xff0c;怕自己卷铺盖走人了&#xff0c;所以当时我感觉自己不能够在这样蹉跎下去了&#xff0c;长时间呆在一个舒适的环境…...

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿

前言 在当今科技迅猛发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会&#xff0c;CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英&#xff0c;共同探讨AI技术的最新进展、挑…...

vue中proxy代理配置(测试一)

接口地址&#xff1a;http://jsonplaceholder.typicode.com/posts 1、配置一&#xff08;代理没起作用&#xff09; &#xff08;1&#xff09;设置baseURL为http://jsonplaceholder.typicode.com &#xff08;2&#xff09;proxy为 ‘/api’&#xff1a;’ ’ &#xff08;3&a…...

通用人工智能的关键:统一语言描述万物

当今世界&#xff0c;人工智能&#xff08;AI&#xff09;正以前所未有的速度推进着人类社会的进步。从最初的简单计算到如今能够执行复杂任务的智能系统&#xff0c;AI 的每一次飞跃都伴随着理解世界能力的显著提升。然而&#xff0c;要实现真正的通用人工智能——即能够像人类…...

使用QML实现播放器进度条效果

使用QML实现播放进度效果 QML Slider介绍 直接上DEMO如下&#xff1a; Slider {width: 300;height: 20;orientation: Qt.Vertical; //决定slider是横还是竖 默认是HorizontalstepSize: 0.1;value: 0.2;tickmarksEnabled: true; //显示刻度}效果图如下 那么我先改变滑块跟滚轮…...

TowardsDataScience 博客中文翻译 2018~2024(一百二十三)

TowardsDataScience 博客中文翻译 2018~2024&#xff08;一百二十三&#xff09; 引言 从 2018 年到 2024 年&#xff0c;数据科学的进展超越了许多技术领域的速度。Towards Data Science 博客依然是这个领域的关键平台&#xff0c;记录了从基础工具到前沿技术的多方面发展。…...

14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误“

出现这个错误是因为使用的 CentOS 7 仓库已经被归档&#xff0c;当前的镜像地址无法找到所需的文件。CentOS 7 的官方支持已经结束&#xff0c;部分仓库已被移至归档库。这导致了你的 yum 命令无法找到所需的元数据文件。CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止…...

将 ASP.NET Core 应用程序的日志保存到 D 盘的文件中 (如 Serilog)

将 ASP.NET Core 应用程序的日志保存到 D 盘的文件中&#xff0c;可以使用第三方日志库&#xff08;如 Serilog&#xff09;来实现。Serilog 是一个流行的日志库&#xff0c;支持将日志输出到文件、控制台、数据库等多种目标。 以下是实现步骤&#xff1a; 1. 安装 Serilog 相…...

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223

深入探讨 Go 中的高级表单验证与翻译&#xff1a;Gin 与 Validator 的实践之道 在现代后端开发中&#xff0c;表单验证是保证数据完整性和服务稳定性的核心环节。如何优雅、高效地实现表单验证&#xff0c;同时提供人性化的错误提示&#xff0c;是每位开发者的必修课。在本文中…...

相机主要调试参数

解析度测试 - 解释如何衡量摄像头捕捉细节的能力&#xff0c;确保图像清晰。锐度评估 - 教你如何判断图像边缘的清晰程度&#xff0c;以优化视觉效果。色散与色彩还原 - 分析色彩准确性&#xff0c;确保所见即所得的色彩一致性。白平衡校正 - 确保在各种光源下拍摄的照片颜色自…...

JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码

JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码&#xff1a;引领智慧养老新时代 在当今老龄化社会日益严重的背景下&#xff0c;智慧养老已成为解决养老问题的重要途径。我们推出的JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码&#xff0c;正是基于这一需求而研发…...

一个简单封装的的nodejs缓存对象

我们在日常编码中&#xff0c;经常会用到缓存&#xff0c;而一个有效的缓存管理&#xff0c;也是大家必不可少的工具。而nodejs没有内置专用的缓存对象&#xff0c;并且由于js的作用域链的原因&#xff0c;很多变量使用起来容易出错&#xff0c;如果用一个通用的缓存管理起来&a…...

【ELK】filebeat采集数据输出到kafka指定topic

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 背景filebeat主体配置filebeat.inputs部分filebeat.output部分 filebeat完整配置 背景 今天收到需求&#xff0c;生产环境中通需要优化filebeat的输出&#xff0c;…...

Qt 6 QML Settings location 不创建指定路径文件

在 Qt QML 项目中可以使用Qt QSettings QML 版 Settings 方便数据持久化&#xff0c;具体使用可以参考Qt 文档&#xff0c;这里主要简单记录一下从Qt 5 升级到 Qt 6 后&#xff0c;没有创建指定的文件。在Qt 5中是使用 fileName 属性来指定文件路径&#xff0c;如下&#xff0…...

LabVIEW如何学习FPGA开发

FPGA&#xff08;现场可编程门阵列&#xff09;开发因其高性能、低延迟的特点&#xff0c;在实时控制和高速数据处理领域具有重要地位。LabVIEW FPGA模块为开发者提供了一个图形化编程平台&#xff0c;降低了FPGA开发的门槛。本篇文章将详细介绍LabVIEW FPGA开发的学习路径&…...

idea设置控制台日志输出自动换行

文章目录 1. 原因2. 方法一&#xff1a;3. 方法二&#xff1a; 1. 原因 你是否碰到ideal控制台输入日志是一行的效果&#xff0c;那是因为带了soft wrap。 2. 方法一&#xff1a; 最新版的IDEA设置控制台自动换行位置如下&#xff1a; Setting->Editor->General->C…...

帧缓存的分配

帧缓存实际上就是一块内存。在 Android 系统中分配与回收帧缓存&#xff0c;使用的是一个叫 ION 的内核模块&#xff0c;App 使用 ioctl 系统调用后&#xff0c;会在内核内存中分配一块符合要求的内存&#xff0c;用户态会拿到一个 fd&#xff08;有的地方也称之为 handle&…...