各种编程语言都实现了文件的基本操作,提供了对应的接口,本篇文章先为你介绍C语言对文件进行处理和文件处理的基本操作。主要从以下几个方面进行介绍:

读取文件

写入文件

重命名文件

读取目录

读取目录下的文件

创建目录

在创建目录下写入文件

不同文件格式之间进行转换

1.打开文件 --> 关闭文件。

打开文件:

//filename 是字符串,用来命名文件,mode是访问模式FILE *fopen( const char * filename, const char * mode );//二进制文件,使用下面的访问模式关键字//"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

以下为各访问模式及参数的意义:

r 打开一个已有的文本文件,允许读取文件。

w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件,程序会从文件的开头写入内容。如果文件存在,则该文件会被截断为零长度,重新写入。

a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件,会在已有的文件内容中追加内容。

r+ 打开一个文本文件,允许读写文件。

w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。

a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。

2.关闭文件

//用于关闭文件int fclose( FILE *fp );

3.写入文件

//把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,//如果发生错误,则会返回 EOFint fputc( int c, FILE *fp );//把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,//如果发生错误,则会返回 EOFint fputs( const char *s, FILE *fp );//将格式化字符串写入到文件中int fprintf(FILE *fp,const char *format, ...);

4.读取文件

//读取单个字符,返回值是读取的字符,如果发生错误则返回 EOFint fgetc( FILE * fp );//函数 fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,//并在最后追加一个 null 字符来终止字符串。char *fgets( char *buf, int n, FILE *fp );//在遇到第一个空格字符时,会停止读取int fscanf(FILE *fp, const char *format, ...);

5.二进制I/O函数

//存储块的读写 - 通常是数组或结构体size_t fread(void *ptr, size_t size_of_elements,size_t number_of_elements, FILE *a_file);size_t fwrite(const void *ptr, size_t size_of_elements,size_t number_of_elements, FILE *a_file);

6.目录操作

int mkdir(const char *pathname, mode_t mode);//打开一个目录DIR * opendir(const char* path);//读取dir_handle目录下的目录项,如果有未读取的目录项,返回目录项,否则返回NULL。struct dirent * readdir(DIR * dir_handle);//关闭目录int closedir(DIR * dir_handle);

7.删除文件

//filename为要删除的文件名,可以为一目录。如果参数filename 为一文件,则调用unlink()处理;//若参数filename 为一目录,则调用rmdir()来处理。int remove(char * filename);

以上为我总结的C语言对文件进行处理,文件处理的基本操作,如果对你有用那就收藏备用啦。后续会更新C sharp、Java、Python对文件的基本操作。有兴趣的关注我,为你带来更多干货。

c++文件读取空格_程序员术与道:术—C语言对文件进行处理,文件处理的基本操作...相关推荐

  1. java c++ python哪个好_程序员学java好还是python语言好 c++又如何

    技术程序员学Java.C++.Python... 分析对比,到底学什么语言吃香,哪种语言最靠谱,如何学好这些语言呢? 几天前,我们在知识上看到这样一个问题:"java,C++,Python, ...

  2. mac java api文档_程序员必备 Dash for mac 各种语言和系统Api文档

    Dash for mac  5.5.0 是一款功能强大的API文档浏览器和代码片段管理器,内置了丰富的API文档,多达150多种,可以在线下载各种开发API和文档资料,可以让您集中管理API文档,包括 ...

  3. 哪款文件比较软件适合程序员

    对于很多的程序员来说,如果遇到了需要比较源代码文件的情况,往往是非常头疼的.因为源代码文件往往比较复杂,比较起来需要耗费很多的时候,这个时候大家就会想到使用一些文档比较合并工具来减轻自己的负担.下面我 ...

  4. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  5. c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识

    C语言是当前所有开发技术中使用较为广泛的一门语言,从它诞生之日起就深受程序员的喜爱.随着C语言的普及,后来的开发语言都或多或少地借鉴或遵循了它的一些模式.另外,C语言是计算机编程领域中使用最早的高级语 ...

  6. 【源码+演示】高考加油!HTML+CSS特效文字祝福_程序员祝福高考学子旗开得胜!

    又是一年盛夏至,愿高三学子高中毕业日,即是高中名校时! 本篇为大家带来3款HTML+CSS制作出的小项目,为高考学子加油助威,愿他们旗开得胜,金榜题名![源码+演示]高考加油!HTML+CSS特效文字 ...

  7. python三大编程语言_程序员最需要的三种编程语言

    随着科学技术的进步和新技术的进步,编程语言的种类越来越多,变化是程序员需要跟踪和学习许多语言 然而,有太多的语言无法一一掌握 在目前的形式中,最需要掌握的三种编程语言是 现在判断还不晚 坦白说,找工作 ...

  8. c#12星座速配代码_程序员12星座性格分析,猜猜哪个星座最适合IT行业?

    原标题:程序员12星座性格分析,猜猜哪个星座最适合IT行业? 身处IT职场,一个有趣的现象是:同为程序员,哪怕是同一种语言,每个程序员写起代码来还是有很多不一样的地方. 至于为何?或许可归结为星座及性 ...

  9. java代码情书_程序员们的爱情表白书

    下面看看我们程序员是如何用自己的语言说出爱你.就算闷呆,也要闷呆得很性感. java程序员的情书 我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不 ...

最新文章

  1. 技术图文:集合技术在求解算法题中的应用
  2. Android Gallery组件详解(转)
  3. SAP中采购订单状态与MRP的关系
  4. 【深度学习】相当全面的深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)...
  5. Cpp 对象模型探索 / 拷贝构造函数 和 赋值构造函数 的调用时机
  6. 面向对象有哪几种常用的设计模式,六大设计原则是什么
  7. chattr和lsattr的基本用法
  8. 小D课堂-jekins-01
  9. 计算机知识的研修总结,计算机信息技术学习研修总结
  10. 阿里腾讯大裁员,中概股暴跌!没病千万别去互联网公司......
  11. JavaScript形而上的策略模式
  12. java office 集成开发_[转载]Java集成PageOffice在线打开编辑word文件 - Spring Boot
  13. 步进电机基础知识(转载)
  14. c语言令牌大全,C ++令牌(Tokens)
  15. 【2月比赛合集】55场可报名的数据挖掘奖金赛,任君挑选!
  16. MyBatis联合主键结果集与SQL查询结果不一致的问题
  17. 常用邮箱的Smtp设置
  18. VBS脚本病毒的特点!
  19. 从IT时代转入DT时代 安防应该注意什么?
  20. 记录由于一次强制断电导致的服务器无法启动的恢复过程

热门文章

  1. 判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法
  2. 数组的拼接合并 numpy
  3. PyTorch的十七个损失函数
  4. Navicat导出表结构导出成Excel
  5. 使用idea新建maven工程的web项目的步骤
  6. 第四天:Vue组件的slot以及webpack
  7. LeetCode简单题之两句话中的不常见单词
  8. 深度卷积生成对抗网络
  9. 将HLSL射线追踪到Vulkan
  10. Docker核心技术之网络管理