2024-2025-1 20241318 《计算机基础与程序设计》第十四周学习总结

news/2024/12/27 18:22:24/文章来源:https://www.cnblogs.com/2473780384qqcom/p/18636502
这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP(
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14
这个作业的目标 <学习《C语言程序设计》第13-14章并完成云班课测试>
作业正文 https://i.cnblogs.com/posts/edit

教材学习内容总结

  1. 文件类型
  • 文本文件:以ASCII码形式存储,便于阅读和编辑。
  • 二进制文件:以二进制形式存储数据,更紧凑,常用于存储数值等。
  1. 文件指针

用  FILE *  类型定义,如  FILE *fp; ,通过它来操作文件,关联到具体文件。

  1. 打开文件
  • 函数: fopen() ,例如  fp = fopen("文件名", "打开方式"); ,打开方式有  "r" (读)、 "w" (写,若存在覆盖)、 "a" (追加)等多种。
  • 返回值:成功返回文件指针,失败返回  NULL 。
  1. 关闭文件

用  fclose(fp)  函数关闭,及时关闭可避免数据丢失等问题。

  1. 读写文件
  • 字符读写: fgetc()  从文件读一个字符, fputc()  向文件写一个字符。
  • 字符串读写: fgets()  读一行字符串, fputs()  写字符串到文件。
  • 格式化读写:类似  scanf  和  printf  的功能,用  fscanf()  和  fprintf()  按格式读写文件内容。
  • 块读写: fread()  按块读数据, fwrite()  按块写数据,常用于读写结构体等较大数据块。
  1. 文件定位
  • 函数: fseek()  可移动文件指针位置,如  fseek(fp, 偏移量, 起始位置) ; ftell()  能获取当前文件指针位置; rewind()  可使文件指针回到开头。
  1. 文件结束判断

通过  feof()  函数,返回非零值表示到文件末尾,常用于循环中判断是否读完文件内容。

教材学习中的问题及解决过程
问题一

问:如果用  fopen  打开一个不存在的文件,且打开方式是  "r" (读),会出现什么情况?
答:会打开失败, fopen  函数会返回  NULL ,因为  "r"  方式是用于读取已存在的文件,不存在的文件无法按此方式打开进行读操作。

问题二

问:使用  fwrite  函数向二进制文件写入数据后,不关闭文件直接再次读取该文件里刚写入的数据可以吗?
答:不建议这样做。虽然有时候可能看似能读取到部分数据,但未关闭文件就进行读取可能会导致数据未完全正确写入磁盘(存在缓存等情况没及时刷新),从而读取到的数据可能不准确或者不完整,所以最好先使用  fclose  关闭文件,确保数据正常存储后再去读取文件内容。

基于AI的学习

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

相关文章

智谱开源 CogAgent-9B,让 AI「看懂」屏幕;Anthropic:大多数任务无需复杂 AI 智能体

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

GitLab社区版CI/CD实现

准备工作: 系统环境:CentOS Linux release 7.9.2009 (Core) 安装包:gitlab-ce-11.1.1-ce.0.el7.x86_64.rpm 和 gitlab-runner-11.1.1-1.x86_64.rpmCI/CD流程:代码推送: 开发者将代码推送到GitLab的远程仓库。触发CI/CD Pipeline: 当代码被推送到GitLab仓库时,GitLab会检…

宝塔面板解压文件无响应或需要重启才能解压

您好,关于您提到的宝塔面板在解压文件时出现无响应或需要重启才能继续解压的问题,这可能是由以下几个原因引起的。首先,我们需要了解一些背景信息来更好地解决这个问题。压缩包文件异常: 压缩包文件本身可能存在损坏或不完整的情况,导致宝塔面板在解压过程中遇到错误而无法…

1.什么是CSS

1.Cascading Style Sheet 层叠级联样式表 CSS:表现(美化网页) 字体,颜色,边距,高度,宽度,背景图片,网页定位,网页浮动....2.发展史 CSS1.0 只能美化字体 CSS2.0 DIV(块)+CSS,html与css结构分离的思想,网页变得简单,利于SEO CSS2.1 浮动,定位 CSS3.0 圆角,阴影,动画…

【Spring】三级缓存解决循环依赖问题

参考地址: Spring循环依赖:https://zhuanlan.zhihu.com/p/700890658 Spring三级缓存解决循环依赖的问题:https://blog.csdn.net/Trong_/article/details/134063622================================================================== 1.什么是循环依赖?1>说白是一个或…

uni-app 设置多语言切换uni-i18n插件

安装uni-i18n插件npm install uni-i18nmain.js文件中引入并初始化VueI18n///main.js import messages from ./language/index let i18nConfig = {locale: uni.getLocale(),messages }import Vue from vue import VueI18n from vue-i18n import App from ./App Vue.use(VueI18n)…

查询数据库开始时间和结束时间字段中包括了给定时间区间的数据

表数据示例: 查询区间:2024-12-03 10:00:00 - 2024-12-06 18:00:00 mysql示例:SELECT * FROM time_test WHERE ((start_time > 2024-12-03 10:00:00 AND (2024-12-06 18:00:00 > end_time OR ( 2024-12-06 18:00:00 > start_time AND 2024-12-06 18:00:00 < e…

ASP.NET 自定义控件

创建Web Forms 用户控件 选中项目右键#新建 #Web Forms #Web Forms 用户控件代码示例<div id="footer"><div style="font-family: @宋体; font-size: 11px;"><strong >Martin Emprex Textiles(Zhongshan-China)Limited</strong>&l…

协同办公如何帮助车企抓住以旧换新市场机会

随着国家对以旧换新购车政策的进一步细化和推广,汽车市场的竞争再度升级。对于车企而言,这既是一个重要的市场增长契机,也是一次全方位提升销售运营效率的考验。通过在线协同工具,车企能够更高效地推动内部协作、优化外部销售网络,在换新浪潮中构建敏捷的销售体系。 敏捷销…

智能感知的未来:传感器融合与数字样机技术

2024年是汽车产业蓬勃发展的一年。汽车保有量的迅速攀升固然可喜可贺,然而伴随而来的交通事故频发、道路拥堵、停车困难、环境污染、能源消耗等现实问题日益凸显,严重阻碍了汽车工业的持续健康发展。 据世界卫生组织最新统计,全世界范围内每年由道路交通事故引发的人员死亡人…

SVG前端画图

SVG(Scalable Vector Graphics)是一种基于XML的标记语言,用于描述二维矢量图形,它可以在Web浏览器中进行展示。 SVG优点是:可伸缩、分辨率无损失,不管是电脑还是手机屏幕上都能够清晰地显示,支持互动和动画等特效; 缺点是:不支持复杂的渲染效果,如模糊、阴影和透明度…

uniapp项目打包为桌面应用的方法步骤

1、在控制台安装electron cnpm install electron -g 2、在控制台安装electron-packager cnpm install electron-packager -g 3、uniapp的manifest.json修改image.png运行的基础路径修改为:./ 不然打包出来会出现白屏,读取不到,因为打包出来的h5默认加载地址为/static/ 去掉启…