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

C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数

位运算和c语言文件操作详解1. 位运算位运算的操作对象只能是整型或字符型数据C语言提供6种位运算符: 按位与| 或^ 异或~ 取反 左移 右移复合赋值运算符:,| ,^,1.1 按位与运算代码语言cAI代码解释111 全1为1 100 有0为0 010 000 作用:清零1.2 按位或运算代码语言cAI代码解释111 有1为1 101 全0为0 011 000 作用:将特定位置11.3 按位异或运算代码语言cAI代码解释1^10 相异为1 1^01 相同为0 0^11 0^00 作用:将特定位置11.4 按位取反运算按位取反运算符是一个单目运算符。按位取反后0变11变0计算机流程是将按位取反的数转换为2进制数这个2进制数按位取反然后再转换回原来的进制速算技巧:对一个数按位取反得到的值为该数1后再乘以-11.5 按位左移运算()格式:数n功能:将二进制位按位依序左移n位速算技巧:对一个十进制数左移n位后得到的值为该数乘以2^n^的积1.6 按位右移运算()格式:数n功能:将二进制位按位依序右移n位速算技巧:若该数为一个负数并且不能被2^n^整除得到的数为商加-1例题分析:代码语言cAI代码解释a)100 b80 c) 64 d32 main() { char x040; printf(%O\n,x1); } x040 是8进制 %O是8进制输出 x040转换为2进制再转10进制 是32 左移动 *2 是64 64转换为8进制是1002. 文件2.1 文件概念1.文件:记录在外部存贮介质(外存)上的数据的集合。2.文件的分类文件文本(ASCII码文件)每个字符存储到文件中。二进制文件:以二进制存储c语言中对文件的存取是以字符(字节)为单位的。3.文件类型指针考试中记住FILE就是文件类型名它是一个结构体类型。对一个文件进行操作通过文件指针进行的定义如下:FILEfp,in,*out;2.2 文件的打开与关闭2.2.1 文件的打开(fopen()函数)格式:fopen文件名文件使用方式)功能:按指定的使用方式打开文件函数返回所打开文件的指针该指针的基类型为文件类型。文件名和文件使用方式均为字符串。如:以只读的方式打开文件data.txt并用指针变量fp指向它。代码语言cAI代码解释FILE *fp; //FILE可以理解为一种类型名是文件的类型名 fpfopen(data.txt,r)格式open(文件名文件使用方式打开文件的“使用方式”:代码语言cAI代码解释12种4种基本的9种混合的 r:打开已存在文件 w:刷新写 创建写 a:追加写 创建写 :r 增强 r w a rb wb ab rb wb ab注意的点:(1)文件使用方式只能用小写字母文件名用大写或小写均一样。如:FLIE *fp;fpfopen(c:\\tc\\data.txt,w);其中的\\是转义(2)在文件使用方式中若含有字母b,则打开的是一个二进制文件(bit)(3)当fopen打开失败时函数返回NULL.if((fpfopen(文件名文件使用方式))NULL){printf(can not open this file\n);exit(0); }上述代码中要注意的点是括号运算符号优先级高于2.2.2 文件的打开(fclose()函数)文件使用完后应该关闭该文件格式:fclose(文件指针)如:fclose(fp);2.3 文件的写入读出2.3.1 fputc()与fgetc()(1)fputc()格式:fputc(字符文件指针)功能:把一个字符写到文件指针所指的文件中。其中字符可以是字符常量也可以是字符变量。若输出成功则返回输出的字符失败则返回EOF(stdio.h中定义为-1)(2)fgetc(文件指针)功能:从文件指针所指文件中读取一个字符。若读取成功则函数返回读取的字符失败遇到文件结束则返回EOF2.3.2 fgets()与fputs()(3)fgets()格式:fgets(str,nfp)功能:其中str表示一个字符指针可以是字符数组名也可以是字符指针变量名。从fp所指文件中读取n-1个字符(不是n个字符)并在这些字符最后加一个字符串结束符\0后赋给str函数返回str的首地址(4)fputs()格式:fputs(str,fp功能:向fp所指文件中写出(输出)str中的字符串str可以是字符串str可以是字符串常量字符数组或字符指针变量。在输出时字符串的结束符\0不输出。若输出成功则返回0失败返回EOF2.3.3 fread()与fwrite()(5)fread()fwrite()格式:fread(buffer, size, count,fp);fwrite(buffer, size, count,fp);其中:buffer是数据的地址size是每次读写的字节数count表示让函数进行多少次的读写fp是要进行读写的文件指针变量功能:用来读写一个连续的数据块注:(1)这两个函数按二进制方式进行读写2.3.4 fprintf()与fscanf()(6)fprintf()fscanf()格式:fprintf(文件指针格式说明符输出列表)fscanf(文件指针格式说明符输入列表)功能:按格式说明符所指定的格式向文件中读写(输入输出)数据。其中格式说明符河输入(输出)列表的用法与scanf和printf函数相同。补充:feof(文件指针)作用是测试文件的当前读写位置是否在文件末尾若是则返回非0值(真)否则返回0(假)。代码语言cAI代码解释while(!feof(fp)) { 读/写 文件 }2.4 文件当前读写位置函数2.4.1 rewind()(1)rewind()格式:rewind(文件指针)作用:使当前的读写位置重新指向文件的开头。函数无返回值。2.4.2 fseek()(2)fseek()格式:fseek文件指针位移量起始点)功能:将当前的读写位置从起始点开始按位移量所指定的移动字节数向后移动。起始点有:SEEK_SET 或0 (表示“文件的开始”)SEEK_CUT 或1 (表示“当前位置”)SEEK_END 或2 (表示文件末尾)SEEK_SET 是宏名 0是宏内容位移量:要在数值后加字母l或L如:fseek(fp,100L,SEEK_SET)给出例题:将位置指针定位到离文件头50个字节的地方fseekfp,50L0)将位置指针定位到离文件尾50个字节的地方fseekfp,-50L2)将位置指针定位到离文件头0个字节的地方三种方法:方法1:fpfopen();方法2:rewind(fp);方法3:fseek(fp,0L,0);2.4.3 ftell()(3)ftell()格式:ftell(文件指针)功能返回当前文件的位置用相对于文件头的位移量表示。若返回-1L表示出错

相关文章:

C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数

位运算和c语言文件操作详解1. 位运算位运算的操作对象只能是整型或字符型数据C语言提供6种位运算符:& 按位与| 或^ 异或~ 取反<< 左移>> 右移复合赋值运算符:&,| ,^,<<&#xff0c;>>1.1 按位与运算代码语言&#xff1a;cAI代码解释1&11 全…...

2026年GEO源头厂家选型指南:深度解析技术壁垒与商业价值,助你选对不踩坑

在AI大模型重塑信息检索与商业流量的当下&#xff0c;GEO&#xff08;生成式引擎优化&#xff09;已成为企业获取精准曝光、实现高效转化的核心战场。然而&#xff0c;面对市场上层出不穷的GEO服务商&#xff0c;决策者往往陷入选择困境&#xff1a;是选择短期见效的“代运营”…...

大规模深度学习性能调优:自顶向下的五件套

GPU 利用率上不去&#xff1f;显存莫名 OOM&#xff1f;分布式训练卡死不动&#xff1f;这些问题不能靠"再加一张卡"解决&#xff0c;必须靠 Profiling 把瓶颈找出来。性能调优的正确顺序是自顶向下&#xff1a;先在框架层看哪个算子慢&#xff0c;再下到系统层看 CP…...

使用 Elasticsearch 与 Kibana 中的 PromQL 调查 Kubernetes 基础设施问题

作者&#xff1a;来自 Elastic Miguel Snchez 本文将逐步介绍如何使用 PromQL 在 Elastic Observability 中对 Kubernetes 集群范围内的 CPU 使用情况进行调查&#xff0c;从集群到命名空间再到出现问题的 Pod。 Elasticsearch 现在已经原生支持 PromQL&#xff0c;并且你可以通…...

GRT 深度解剖:单芯片雷达基础模型的全栈技术图谱

文献&#xff1a;Huang T., Prabhakara A., Chen C., et al. "Towards Foundational Models for Single-Chip Radar." ICCV, 2025. 项目主页&#xff1a;https://wiselabcmu.github.io/grt/ 一、论文全景架构&#xff1a;从问题到答案的完整地图 我们先不急着钻细节…...

瓷砖规格有哪些?瓷砖用量如何计算?

瓷砖规格有哪些?瓷砖用量如何计算? 目前建材市场上出现的瓷砖规格有许多种,每一种瓷砖规格所装饰出来的效果都各有千秋,如果想节省瓷砖和降低造价,那么在购买瓷砖前计算要铺贴的使用量就十分必要。了解瓷砖规格以及瓷砖用量,对于购买瓷砖的消费者而言,一定会有所帮助的…...

Android Studio中文界面完整指南:3分钟实现全中文开发环境

Android Studio中文界面完整指南&#xff1a;3分钟实现全中文开发环境 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack Android St…...

创优必看!鲁班奖工程的八项基本要求

创优必看!鲁班奖工程的八项基本要求 作为建筑工程行业的最高级别奖项,鲁班奖的评选工作严格贯彻执行国家有关基本建设的法律、法规和方针政策,以及国家、行业现行的技术标准、施工规范和技术规程。那么,什么样的工程才能荣获鲁班奖呢? 本文根据《鲁班奖评选工作细则》总…...

全面掌握Wand-Enhancer:零成本解锁WeMod Pro高级功能的实用攻略

全面掌握Wand-Enhancer&#xff1a;零成本解锁WeMod Pro高级功能的实用攻略 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 想免费体验WeMod Pro的所有高…...

Adobe-GenP 3.0:AutoIt实现的Adobe CC二进制补丁机制深度分析

Adobe-GenP 3.0&#xff1a;AutoIt实现的Adobe CC二进制补丁机制深度分析 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe Creative Cloud系列软件作为创意行业…...

终极SOCD清理工具:Hitboxer让你的游戏操作精准如职业选手

终极SOCD清理工具&#xff1a;Hitboxer让你的游戏操作精准如职业选手 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中&#xff0c;明明同时按下了左右方向键&#xff0c;角色却做出奇…...

Windows Cleaner:专业级Windows系统优化终极指南

Windows Cleaner&#xff1a;专业级Windows系统优化终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系统设计的开源系统…...

BetterGI:原神自动化助手终极指南 - 告别重复劳动,智能解放双手

BetterGI&#xff1a;原神自动化助手终极指南 - 告别重复劳动&#xff0c;智能解放双手 【免费下载链接】better-genshin-impact &#x1f4e6;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一…...

OpenClaw插件实战:为Telegram审批消息添加一键操作按钮

1. 项目概述&#xff1a;为OpenClaw的Telegram频道添加一键审批按钮如果你正在使用OpenClaw&#xff0c;并且像我一样&#xff0c;把Telegram作为主要的交互和通知渠道&#xff0c;那你肯定对下面这个场景不陌生&#xff1a;AI助手在执行某个需要授权的命令&#xff08;比如exe…...

Blender 3MF插件终极指南:如何实现3D打印工作流无缝对接

Blender 3MF插件终极指南&#xff1a;如何实现3D打印工作流无缝对接 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat Blender 3MF插件是连接3D建模与3D打印制造的关键桥梁…...

从安装到实战:用Python+Neo4j Driver构建你的第一个社交网络图谱(含完整代码)

从零构建社交网络图谱&#xff1a;Python与Neo4j全流程实战指南 社交网络分析正在重塑我们对复杂关系的理解。想象一下&#xff0c;当我们需要分析Twitter上的信息传播路径、LinkedIn的职业关系网或是电商平台的用户推荐系统时&#xff0c;传统的关系型数据库往往显得力不从心。…...

Ubuntu 18.04上Qt程序报‘xcb’插件错误?别急着重装,试试这个ldd排查法

Ubuntu 18.04 Qt程序xcb插件错误排查指南&#xff1a;从日志分析到依赖修复 当你满怀期待地在Ubuntu 18.04上启动精心开发的Qt应用程序时&#xff0c;屏幕上突然跳出"Could not load the Qt platform plugin xcb"的错误提示&#xff0c;这种挫败感开发者都深有体会。…...

通过API Key管理与审计日志功能加强企业级应用的安全管控

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过API Key管理与审计日志功能加强企业级应用的安全管控 应用场景类&#xff0c;企业级应用在集成大模型能力时&#xff0c;需严格…...

在Node.js服务中集成Taotoken实现稳定的大模型调用方案

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js服务中集成Taotoken实现稳定的大模型调用方案 应用场景类&#xff0c;针对需要构建AI功能的后端开发者&#xff0c;阐述如…...

LinkSwift:九大网盘直链下载,告别限速烦恼

LinkSwift&#xff1a;九大网盘直链下载&#xff0c;告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

QueryExcel终极指南:5分钟批量查询上百个Excel文件的完整解决方案

QueryExcel终极指南&#xff1a;5分钟批量查询上百个Excel文件的完整解决方案 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 你是否曾在海量Excel文件中迷失方向&#xff1f;当数据分散在数十个甚至上…...

从卡顿到流畅:WaveTools如何让你的《鸣潮》体验脱胎换骨

从卡顿到流畅&#xff1a;WaveTools如何让你的《鸣潮》体验脱胎换骨 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否曾经在《鸣潮》的激烈战斗中因为突然的卡顿而错失良机&#xff1f;是否觉得60帧的…...

2025届毕业生推荐的六大降AI率神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于有那种需求去规避人工智能内容检测的用户来讲&#xff0c;在这儿推荐使用专业的降AI率网…...

深入剖析`ReentrantReadWriteLock`源码——虚拟线程时代机遇、挑战与演进

引言&#xff1a;并发范式的革命性转变 Java 21 正式引入了虚拟线程&#xff08;Virtual Threads&#xff09;&#xff0c;这标志着 Java 并发编程进入了一个全新的时代。Project Loom 的目标是让编写、维护和观测高吞吐量的并发应用程序变得如同编写顺序代码一样简单。虚拟线程…...

WPS-Zotero插件终极指南:5步实现科研写作效率翻倍的完整教程

WPS-Zotero插件终极指南&#xff1a;5步实现科研写作效率翻倍的完整教程 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 还在为学术论文的文献管理而烦恼吗&#xff1f;每次…...

QMC音频转换工具终极指南:快速免费解锁加密音乐文件

QMC音频转换工具终极指南&#xff1a;快速免费解锁加密音乐文件 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾遇到过下载的音乐文件无法在普通播放器中播放的困扰…...

告别配置烦恼!用VS2019属性表一键搞定OpenCV 4.3环境(附常见错误排查)

告别配置烦恼&#xff01;用VS2019属性表一键搞定OpenCV 4.3环境&#xff08;附常见错误排查&#xff09; 在计算机视觉开发中&#xff0c;OpenCV无疑是最受欢迎的库之一。然而&#xff0c;对于许多开发者来说&#xff0c;配置OpenCV环境往往成为项目开始前的第一道门槛。特别是…...

Windows Cleaner终极指南:快速免费解决C盘爆红问题

Windows Cleaner终极指南&#xff1a;快速免费解决C盘爆红问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否曾因C盘爆红而焦急万分&#xff1f;系统运行…...

视频硬字幕提取终极指南:本地AI一键生成SRT字幕文件

视频硬字幕提取终极指南&#xff1a;本地AI一键生成SRT字幕文件 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测、字幕内容提…...

终极指南:3分钟免费完成OFD转PDF,彻底解决电子发票打印难题

终极指南&#xff1a;3分钟免费完成OFD转PDF&#xff0c;彻底解决电子发票打印难题 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf 你是否曾因收到OFD格式的电子发票而无法在手机或普通电脑上打开&am…...