文件函数的简单介绍

1.  向文件中写入一个字符  fputc  

    int_Ch指的是输入文件中的字符 (int)的原因是以ascll码值的型式输入

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
    FILE* pf = fopen("test.txt","w");
    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fputc('a',pf);
    fclose(pf);
    pf = NULL;
    return 0;
}

2.  向文件中写入一串字符串 fputs     

const char*_Str指的是字符串的首元素地址

3.  向文件中以格式化写入  fprintf    

可以和printf类似

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
    FILE* pf = fopen("test.txt","w");
    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fprintf(pf,"%s %d","abcdef",4);
    fclose(pf);
    pf = NULL;
    return 0;
}

4.  对应输出一个字符串 fgetc   

注意准确获取的是ascll值  

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
    int ch = 0;
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    ch = fgetc(pf);    如果以后需要使用可以强制类型化(char)ch
    fclose(pf);
    pf = NULL;
    return 0;
}

5. 获取一串字符串 fgets   

注意MaxCount

文件中的内容:

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
    char ch[20] = { '\0' };
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fgets(ch,3,pf);
    printf("%s\n",ch);
    fclose(pf);
    pf = NULL;
    return 0;
}

结果是:

原因是默认字符串以 ‘\0' 结束 所以只能获取2个字符

6. fscanf     

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
    char arr[20] = { '\0' };
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fscanf(pf,"%s",arr);   注意如果是整数 小数  单个字符串 需要取地址&
    printf("%s\n",arr);
    fclose(pf);
    pf = NULL;
    return 0;
}

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

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

相关文章

Ubuntu 常用命令之 chmod 命令用法介绍

chmod是Linux系统下的一个命令&#xff0c;用于改变文件或目录的权限。它的名称是“change mode”的缩写。在Linux中&#xff0c;文件或目录的权限分为读&#xff08;r&#xff09;、写&#xff08;w&#xff09;和执行&#xff08;x&#xff09;三种&#xff0c;分别对应数字4…

实验记录:深度学习模型收敛速度慢有哪些原因

深度学习模型收敛速度慢有哪些原因&#xff1f; 学习率设置不当&#xff1a; 学习率是算法中一个重要的超参数&#xff0c;它控制模型参数在每次迭代中的更新幅度。如果学习率过大&#xff0c;可能会导致模型在训练过程中的振荡&#xff0c;进而影响到收敛速度&#xff1b;如果…

Lit官方入门示例

陈拓 2023/12/17-2023/12/17 1. 简介 在《用Vite构建Lit项目》 https://blog.csdn.net/chentuo2000/article/details/134831884?spm1001.2014.3001.5501 一文中我们介绍了怎样用Vite构建Lit项目。 本文我们介绍不依赖Vite的Lit入门示例。 我的开发环境还是和上文相同。 …

【Linux】初识命令行

为什么使用命令行&#xff1f; 大多数的计算机用户只是熟悉图形用户界面(GUI)&#xff0c;采用图形方式显示的用户操作界面。命令行界面(CLI)是一种通过文本输入来与计算机进行交互的方式&#xff0c;用来和计算机进行交流沟通的非常有效的方式&#xff0c;正像人类社会使用文…

文心一言 VS 讯飞星火 VS chatgpt (158)-- 算法导论12.3 5题

五、用go语言&#xff0c;假设为每个结点换一种设计&#xff0c;属性 x.p 指向 x 的双亲&#xff0c;属性 x.succ 指向 x 的后继。试给出使用这种表示法的二叉搜索树 T 上 SEARCH、INSERT 和DELETE 操作的伪代码。这些伪代码应在 O(h) 时间内执行完&#xff0c;其中 h 为树 T 的…

图像截屏公式识别——LaTeX-OCR安装与使用

一、简介 LaTeX-OCR 是一个开源的光学字符识别&#xff08;OCR&#xff09;软件&#xff0c;专为 LaTeX 文档提供支持。其主要目的是帮助用户将扫描的文档转换为 LaTeX 编辑器可以使用的可编辑文本&#xff0c;从而方便进行修改、编辑和排版。LaTeX广泛用于科技、数学、工程等…

Spring之容器:IOC(1)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

Vue3使用Three.js导入gltf模型并解决模型为黑色的问题

背景 如今各类数字孪生场景对三维可视化的需求持续旺盛&#xff0c;因为它们可以用来创建数字化的双胞胎&#xff0c;即现实世界的物体或系统的数字化副本。这种技术在工业、建筑、医疗保健和物联网等领域有着广泛的应用&#xff0c;可以帮助人们更好地理解和管理现实世界的事…

FL Studio2024破解版注册机及使用教程

FL Studio 2024破解版是一款非常实用的软件。该软件用于不同的目的&#xff0c;例如从音频中删除人声、管理音频以及更改不同的音频属性。此外&#xff0c;您还可以查看音频和歌曲的不同效果并管理其音量和大小。您还可以管理音乐和音频的自动化。您可以用它创作一首具有不同音…

Pantera Capital致信2024:继续做多BTC

作者&#xff1a;Dan Moredherd, Katrina Paglia, Jeff Lewis, Erik Lowe Pantera Capital 编译&#xff1a;秦晋 碳链价值 一年的变化有多大啊。这就是我们2023年1月信函的开头&#xff1a; 亲爱的投资者&#xff1a; 假设现在是2022年1月1日。想象一下&#xff0c;我告诉你…

汇编语言的前世今生

计算机中的0和1是用电的状态表示的。具体来说&#xff0c;断开为0&#xff0c;接通为1。自然而言&#xff0c;这也对应着二进制。曾经时代的二进制加法机是一个划时代的产物&#xff0c;能够进行两个8位二进制数的实时加法&#xff0c;尽管今天看来很LOW。 图1 二进制加法器&am…

JS代码输出题:return Promise.resolve() 情况

题目&#xff1a; Promise.resolve().then(() > {console.log(0);return Promise.resolve(4);}).then((res) > {console.log(res)})Promise.resolve().then(() > {console.log(1)}).then(() > {console.log(2)}).then(() > {console.log(3)}).then(() > {con…