????write in front????
????大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流????
????2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~2022博客之星Top63~作者周榜84﹣作者总榜704~阿里云专家博主 & 阿里云星级博主~掘金优秀创作者⇿InfoQ创作者⇿51CTO红人⇿全网访问量50w+????
????本文由 謓泽 原创 如需转载还请通知⚠
????个人主页-謓泽51Ctop的博客????
????欢迎各位→点赞???? + 收藏⭐️ + 留言????
????系列专栏-謓泽51Ctop的博客_【C语言】从0~1_51CTO博客????
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本????
????????????文件的顺序读写????????????
????文件的顺序读写:实际上就是怎么样才能把我所写的数据一一的写在文件当中。
这里再次说下????"流"????的概念,虽说在上面已经说过了。"防止大家忘记,说的就是你张三"
"流":是指信息从外部输入设备(如键盘)向计算机内部(如内存)输入和从内存向外部输出设备(显示器)输出的过程。这种输入输出的过程被形象的比喻为"流"。
在写代码的时候,我先介绍下????文件的顺序读写????的函数的一些使用功能。
????fgetc() → 字符输入函数????
⚡️函数的声明方式如下⚡️
从流中获取字符↓
- 返回指定流的内部文件位置指示器当前指向的字符。然后,内部文件位置指示符被推进到下一个字符。
- 如果调用时流位于文件结束位置,则函数返回EOF并设置流的文件结束指示符(feof)。
- 如果发生读错误,该函数返回EOF并设置流的错误指示符(ferror)。
参数↓
- 指向标识输入流的FILE对象的指针。
返回值↓
- 如果成功,则返回字符读取(提升为int值)。返回类型为int,以适应特殊值EOF,表示失败。
- 如果位置指示符位于文件结束位置,函数返回EOF并设置流的EOF指示符(feof)。
- 如果发生了其他的读取错误,函数也会返回EOF,但会设置它的错误指示符(ferror)。
✨适用于输入流当中✨
????fputc() → 字符输出函数????
⚡️函数的声明方式如下⚡️
将字符写入流↓
- 将一个字符写入流并使位置指示器向前移动。字符被写入到流的内部位置指示器所指示的位置,然后该位置指示器自动前进1。
参数↓
- character:要写的字符的 int 提升。写入时,该值在内部转换为 unsigned char????
- stream:指向标识输出流的FILE对象的指针。
返回值↓
- 如果成功,则返回所写的字符。如果发生写错误,则返回EOF并设置错误指示器(ferror)
✨适用于输出流当中✨
???????? fputc() 代码示例????????
那么这里我们就用 fputc() 函数开始写入文件在 test.txt 文件上写入"c"。
代码示例如下↓
张三同学:那么我们看看是否写入了数据( ̄▽ ̄)"
编辑
从上述图中可以看出成功写入了数据????'c'????,当然我们要注意下即使我们只要以????'w'????的形式去打开的时候,即使原来文件当中有数据内容也会被清空。
张三:真的是太神奇了(-/*˃̶ᗜ˂̶/*-)
这里注意下是可以进行多个的假设我们要 cpp 的话,直接在加下就可以了。如下代码所示↓
特别注意一点假设我们是这样的↓
fputc('1001', pf);
它这里写入文件数据当中会是都是按照最后一位的数字来的,也就是数字1。
????"三个流"????
在这里再说说"流"的概念 FILE*,实际上C语言只要运行起来就默认打开了三个流↓
- stdin → 标准输入流 → 键盘
- stdout → 标准输入流 → 屏幕
- stderr → 标准错误流 → 屏幕
那这不就可以配合我们上面所说的函数去使用了吗。
张三:对啊,毕竟它们实际上也是 FILE* 啊(●'◡'●)
那么,假设我需要用 fputc() 在屏幕上给输出信息,就用 ????stdout???? 不就可以了吗。
代码示例如下↓
运行结果如下????