【Linux】回顾 C 文件接口

文章目录

  • 1. 写文件
  • 2. 读文件
  • 3. 输出信息到显示器的几个方法
  • 4. stdin / stdout / stderr
  • 5. 打开文件的方式

在这里插入图片描述

1. 写文件

int main()
{
    FILE* fp = fopen("myfile", "w");
    if (!fp)
    {
        printf("fopen error!\n");
    }

    const char* msg = "hello world!\n";
    int count = 5;
    while (count--)
    {
        fwrite(msg, strlen(msg), 1, fp);
    }

    fclose(fp);

    return 0;
}

2. 读文件

#include <stdio.h>
#include <string.h>

int main()
{
    FILE* fp = fopen("myfile", "r");
    if (!fp)
    {
        printf("fopen error!\n");
    }

    char buf[1024];
    const char* msg = "hello world!\n";

    while (1)
    {
        // 注意返回值和参数
        ssize_t s = fread(buf, 1, strlen(msg), fp);
        if (s > 0)
        {
            buf[s] = 0;
            printf("%s", buf);
        }
        if (feof(fp))
        {
            break;
        }
    }
    fclose(fp);
    return 0;
}

3. 输出信息到显示器的几个方法

#include <stdio.h>
#include <string.h>

int main()
{
    const char* msg = "hello fwrite\n";
    fwrite(msg, strlen(msg), 1, stdout);

    printf("hello printf\n");

    fprintf(stdout, "hello fprintf\n");

    return 0;
}

4. stdin / stdout / stderr

  • C 默认会打开三个输入输出流,分别是 stdin, stdout, stderr
  • stdin :标准输入流,默认读取键盘的输入;
  • stdout :标准输出流,默认向显示器输出;
  • stderr :标准错误流,默认向显示器输出错误信息;
  • 仔细观察发现,这三个流的类型都是 FILE*

5. 打开文件的方式

r		Open text file for reading.
		打开文本文件进行阅读。
		The stream is positioned at the beginning of the file.
		流位于文件的开头。
	
r+ 		Open for reading and writing.
		打开(文件)进行阅读和写作。
		The stream is positioned at the beginning of the file.
		流位于文件的开头。
	
w 		Truncate file to zero length or create text file for writing.
		将文件缩短为零长度(清空文件)或创建用于写入的文本文件。
		The stream is positioned at the beginning of the file.
		流位于文件的开头。
	
w+		Open for reading and writing.
		打开(文件)进行阅读和写作。
		The file is created if it does not exist, otherwise it is truncated.
		如果文件不存在,则创建该文件,否则将其清空。
		The stream is positioned at the beginning of the file.
		流位于文件的开头。
	
a 		Open for appending (writing at end of file).
		打开用于追加(在文件末尾写入)。
		The file is created if it does not exist.
		如果文件不存在,则创建该文件。
		The stream is positioned at the end of the file.
		流位于文件的末尾。
	
a+ 		Open for reading and appending (writing at end of file).
		打开用于读取和追加(在文件末尾写入)。
		The file is created if it does not exist.
		如果文件不存在,则创建该文件。
		The initial file position for reading is at the beginning of the file,
		用于读取的初始文件位置是在文件的开头,
		but output is always appended to the end of the file.
		但是输出总是附加到文件的末尾。

END

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自己录的视频怎么配上字幕?推荐几种方法

自己录的视频怎么配上字幕&#xff1f;在数字化时代&#xff0c;视频已经成为人们获取信息、娱乐消遣的重要形式。而对于许多内容创作者来说&#xff0c;为自己的视频添加字幕不仅能提升观众的观看体验&#xff0c;还能增加视频的专业度和吸引力。那么&#xff0c;如何为自己的…

初次文件包含漏洞

1.文件包含漏洞介绍 1.1.文件包含漏洞解释   文件包含漏洞就是使用函数去包含任意文件的时候&#xff0c;当包含的文件来源过滤不严谨的时候&#xff0c;当存在包含恶意文件后&#xff0c;就可以通过这个恶意的文件来达到相应的目的。 1.2.文件包含漏洞原理    其实原理就…

数据之谜:解读Facebook的用户行为

在当今数字化时代&#xff0c;社交媒体平台已经成为人们生活中不可或缺的一部分&#xff0c;而Facebook作为全球最大的社交网络之一&#xff0c;其背后隐藏着许多数据之谜。本文将深入探讨Facebook的用户行为&#xff0c;并试图解读其中的奥秘。 用户行为数据的收集 Facebook作…

【Python】进阶学习:一文解决如何从指定的源目录中,挑选出符合条件的文件,并将这些文件复制到目标目录中

【Python】进阶学习&#xff1a;一文解决如何从指定的源目录中&#xff0c;挑选出符合条件的文件&#xff0c;并将这些文件复制到目标目录中 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化…

spotify怎么购买会员?

Spotify&#xff0c;是一家瑞典在线音乐流媒体平台&#xff0c;主要服务除音乐外&#xff0c;包含播客、有声书及影片流服务。 Spotify于2006年4月&#xff0c;由Daniel Ek和Martin Lorentzon在瑞典创立&#xff0c;以数字版权管理保护的音乐为主要业务&#xff0c;用户规模截至…

出彩不停息!创维汽车SKYHOME又获国际大奖

祝贺&#xff01;创维汽车SKYHOME又获国际缪斯设计大奖&#xff01;进一步获得国际认可&#xff01; 卓越的意识、优秀的审美、无与伦比的专注&#xff0c;不仅是缪斯奖所看重的独特品质&#xff0c;也是SKYHOME设计团队在传递品牌故事中所秉持的优秀品格。作为缪斯奖青睐的设计…

ISP技术综述

原文来自技术前沿&#xff1a;ISP芯片终极进化——VP芯片&#xff08;AI视觉处理器&#xff09; 目录 1.计算机视觉的定义 2.与计算机视觉密切相关的概念与计算机视觉密切相关的概念有机器视觉&#xff0c;图像处理与分析&#xff0c;图像和视频理解。 3.计算机视觉的应用 …

【Python】flask框架请求体数据,文件上传,请求头信息获取方式案例汇总

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

uniapp打包H5,nginx部署无法读取/static目录下index.xxxxx.css

1、修改静态文件index.xxxxx.css名字&#xff0c;如a1.css 2、修改index.html对应的css引入文件 完事大工告成

机器学习----特征缩放

目录 一、什么是特征缩放&#xff1a; 二、为什么要进行特征缩放&#xff1f; 三、如何进行特征缩放&#xff1a; 1、归一化&#xff1a; 2、均值归一化&#xff1a; 3、标准化&#xff08;数据需要符合正态分布&#xff09;&#xff1a; 一、什么是特征缩放&#xff1a; 通…

camelot pdf提取表格实践(记录)

参考&#xff1a; 巧用Python的camelot库批量提取PDF发票信息 关于文本pdf的表格抽取 AttributeError: module ‘camelot‘ has no attribute ‘read_pdf‘及类似问题解决办法 camelot 参数 https://blog.csdn.net/INTSIG/article/details/123000010 报错解决&#xff1a; Mod…

初识JavaScript

1、JavaScript实现 JavaScript包含一下几个部分&#xff1a; 核心&#xff08;ECMAScript&#xff09;文档对象模型&#xff08;DOM&#xff09;游览器对象模型&#xff08;BOM&#xff09; 1.1ECMScript ECMAScript,即ECMA-262定义的语言&#xff0c;并不局限于web游览器&…

腾讯在线文档下载文档html格式

腾讯在线文档下载文档html格式 步骤 chrome 浏览器打开该文档&#xff08;edge不行&#xff09; 同时按住ctrlp快捷键调出腾讯文档内置的打印页面&#xff0c;打印范围要选择整个工作薄&#xff0c;纸张建议调大一点&#xff0c;边距建议较窄&#xff0c;缩放要选择宽度撑满&…

解决Git中文乱码问题(windows git diff gb2312 gbk)

【背景】 1. 工程文件因为兼容性问题&#xff08;编译工具&#xff0c;调试工具等&#xff09;&#xff0c;只能使用 gb2312/gbk 2. git diff 输出时因为编码问题会乱码&#xff0c;我试了网上很多 git config 都不行 3. 最后用 iconv 命令进行“编码转换”解决了 【效果】…

汽车制造产生的污废水如何处理排放

汽车制造业是一个重要的工业领域&#xff0c;然而&#xff0c;伴随着汽车制造过程中的各种化学反应和材料加工&#xff0c;大量污废水也随之产生。为了保护环境和社会的可持续发展&#xff0c;汽车制造产生的污废水需要得到妥善处理和排放。 首先&#xff0c;针对汽车制造中涉及…

内置泵电源,热保护电路等功能的场扫描电路D78040,偏转电流可达1.7Ap-p,可用于中小型显示器。

D78040是一款场扫描电路&#xff0c;偏转电流可达1.7Ap-p&#xff0c;可用于中小型显示器。 二 特 点 1、有内置泵电源 2、垂直输出电路 3、热保护电路 4、偏转电流可达1.7Ap-p 三 基本参数 四 应用电路图 1、应用线路 2、PIN5脚输出波形如下&#xff1a;

鸿蒙Harmony应用开发—ArkTS声明式开发(媒体组件:Video)

用于播放视频文件并控制其播放状态的组件。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 权限列表 使用网络视频时&#xff0c;需要申请权限ohos.permission.INTERNET。具体申请方式请参考声明…

基于相关向量机(RVM)的数据时序预测(单输入输出)

代码原理 基于相关向量机&#xff08;RVM&#xff09;进行数据时序预测的步骤如下&#xff1a; 1. 数据准备&#xff1a;准备时间序列数据集&#xff0c;包括历史观测值和对应的目标值&#xff0c;按照时间顺序排列。 2. 特征提取&#xff1a;将时间序列数据转换为适合RVM算…

Redis各场景应用集合

应用场景 1、缓存&#xff08;Cache&#xff09;,分布式缓存 有一些存储于数据库中的数据会被频繁访问&#xff0c;如果频繁的访问数据库&#xff0c;数据库负载会升高&#xff0c;同时由于数据库IO比较慢&#xff0c;应用程序的响应会比较差。此时&#xff0c;如果引入Redis来…

聚类分析 | Matlab实现基于NNMF+DBO+K-Medoids的数据聚类可视化

聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化 目录 聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 NNMFDBOK-Medoids聚类&#xff0c;蜣螂优化算法DBO优化K-Medoids 非负矩阵分解&#xff08…