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

文件函数的简单介绍

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;
}

相关文章:

  • 加密的艺术:对称加密的奇妙之处(下)
  • 04-Nacos中负载均衡规则的配置
  • 计算机网络:网络层(无分类编址CIDR、计算题讲解)
  • 亿赛通电子文档安全管理系统 SQL注入漏洞复现
  • 分布式块存储 ZBS 的自主研发之旅|元数据管理
  • 深度学习项目部署:解析 NVIDIA Docker 中的 CUDA 镜像版本:base 版本、 runtime 版本、devel 版本
  • 基于linux系统的Tomcat+Mysql+Jdk环境搭建(二)jdk1.8 linux 上传到MobaXterm 工具的已有session里
  • 基于YOLOv8深度学习的吸烟/抽烟行为检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
  • 我的NPI项目之Android 安全系列 -- EMVCo
  • 从零开始搭建Go语言开发环境
  • 13.Spring 整合 Kafka + 发送系统通知 + 显示系统通知
  • 全球汽车行业的数字化转型:产品和后端的渐进之旅
  • WPF里面的Dispatcher详解
  • 记一次挖矿病毒的溯源
  • 基于ssm日用品网站设计论文
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 78. Subsets
  • Babel配置的不完全指南
  • django开发-定时任务的使用
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java 内存分配及垃圾回收机制初探
  • Java-详解HashMap
  • JAVA之继承和多态
  • Leetcode 27 Remove Element
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • vue-router的history模式发布配置
  • 创建一个Struts2项目maven 方式
  • 分布式任务队列Celery
  • 分享一份非常强势的Android面试题
  • 诡异!React stopPropagation失灵
  • 排序算法之--选择排序
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 写给高年级小学生看的《Bash 指南》
  • 用简单代码看卷积组块发展
  • ​力扣解法汇总946-验证栈序列
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​虚拟化系列介绍(十)
  • # C++之functional库用法整理
  • ###C语言程序设计-----C语言学习(3)#
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (7)STL算法之交换赋值
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (排序详解之 堆排序)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *上位机的定义
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 设计模式初探
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET序列化 serializable,反序列化
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 转载 ] SharePoint 资料
  • []error LNK2001: unresolved external symbol _m
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [20171113]修改表结构删除列相关问题4.txt