`

C/C++读写文件小结

阅读更多
C/C++读写文件小结
因为工作需要,最近到处摘抄C/C++关于读写文件的例子,这里留个小结,以备后用。
读文件的流程是大致是如此的:
建立一个操作文件的指针 *fd => 用某种方式(读/写/读写/追加等等)打开文件 => 对文件做相应的操作。
示例文件名为readtxt.txt,同程序置于相同目录下。文件内容为:
hello,world
my name is rf0007

纯C的读文本文件
定义一个文件指针
FILE *fd;
用fopen打开一个文本文件,fopen的第一个参数为文件路和文件名,第二个参数定义的是打开文件的方式,这些参数实在是记不住,具体的如下:
参数  全写  意义 
r  read  读 
w  write  写 
a  append  追加 
t  text  文本文件,可省略 
b  binary  二进制文件

rt  只读,文本文件 
wt  只写或建立,文本文件 
at  在文件末尾追加,文本文件 
rb  只读,二进制文件 
wb  只写或建立,二进制文件 
ab  在文件末尾追加,二进制文件 
rt+  可读可写,文本文件 
wt+  可读可写或建立,文本文件 
at+  可读可写,在文件的末尾追加,文本文件 
rb+  可读可写,二进制文件 
wb+  可读可写或建立,二进制文件 
ab+  可读可写,在文件的末尾追加,二进制文件


fd = fopen("txtfile.txt","r");
执行完fopen后,需要判断一下,此文件是否确实被打开了。
if(NULL == fd)printf("文件未被打开");
接下来就可以进行文件的操作了。
读文件的函数有好几个,fread,fscanf,fgets。它们之间是有区别的:
fread是以块的方式来读取数据,按照指定的长度和指定的次数来读,读完后的数据是按照地址的方式来存储的,所以,比较适合用它来读二进制数,因为程序员比较清楚的知道自己要读多少的数据。
fgets是以串的方式来读取数据,从数据文件中读取不超过N-1个字符的数,读入的数据在最后一个字符后会加上一个截止符'\n',如果中间出现了回车,就会截止了。所以可以用fgets来读入一行的文本数据,应该是相当好用的。
fscanf与fgets类似,不过它是按照格式来读的,跟scanf一样。比如说,指定一个%d,那么它就读入一个整型的值;如果指定一个%s,那么它遇到一个空格也会停止的。
以下是一个实际的代码,用三种方式来完成文件的读取。
#include <stdio.h> 
int main()
{
    FILE *fd;
    char buf[64];
    fd = fopen("txtfile.txt","rb");
    if(NULL == fd)
    {
      printf("read file error!");
      return 0;       
    }
    printf("read file success!\n");
    while(!feof(fd))
    {
        /*method 1
      fgets(buf,64,fd);
      printf("%s\n",buf);
      */
      /*method 2
      fread(buf,64,1,fd);
      printf("the %dth time: %s \n ",count,buf);
      */
      fscanf(fd,"%s",buf);
      printf("%s\n",buf);
    }   
    fclose(fd);
    return 1;
}
分享到:
评论

相关推荐

    高质量程序设计指南--C++/C语言(第3版)]-[林锐.pdf

    ### 小结 《高质量程序设计指南--C++/C语言》作为一本编程指南书籍,应该涉及了上述各个方面。对于程序员来说,掌握这些知识点并不断实践是提升代码质量、编写高效程序的关键。无论是初学者还是有经验的开发者,都...

    c__读写文件.doc

    #### 三、小结 本文介绍了C++中文件操作的基础知识,包括文件流的种类、文件的打开与关闭方式、基本读写操作以及二进制文件的处理方法。掌握这些基础知识对于开发基于文件处理的应用程序至关重要。

    C语言C++结课大作业——交并补运算+Gui界面(含GUI).zip

    5. **文件操作**:可能涉及到读取和保存用户输入的集合数据,这可能需要用到C++的文件流(fstream)库进行文件的读写操作。 6. **错误处理**:良好的编程实践中,应考虑异常情况,如用户输入非法数据或文件读写失败...

    完整版C语言程序设计TXT电子书

    C语言程序设计与实例TXT电子书 1 C语言概述 1.1 C语言的发展过程 ...13.6.2 读写文件出错检测函数 205 13.6.3 文件出错标志和文件结束标志置0函数 206 13.7 C库文件 208 13.8 本章小结

    谭浩强C语言教程Word版

    1 C语言概述 2&lt;br/&gt;1.1 C语言的发展过程 2&lt;br/&gt;1.2 当代最优秀的程序设计语言 2&lt;br/&gt;1.3 C语言版本 2&lt;br/&gt;1.4 C语言的特点 3&lt;br/&gt;1.5 面向对象的程序设计语言 3&lt;br/&gt;1.6 C和C++ 3&lt;br/&gt;1.7 简单的C程序介绍 4...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    13.6.2 读写文件出错检测函数 205 1113.6.3 文件出错标志和文件结束标志置 0 函数 206 13.7 C库文件 208 13.8 本章小结 第1篇 基本知识 第1章 C++的初步知识 *1.1 从C到C++ *1.2 最简单的C++程序 1.3 C++...

    Visual C++/Turbo C串口通信编程实践及源代码-3

    4.6.4 小结 141 4.6.5 在ctermview类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手v2.2编程 147 5.1 建立scomm程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与...

    C++程序设计教程实验书

    11. **文件I/O**:理解如何读写文件,进行数据的持久化存储。 在进行实验时,每个章节通常都会包含一些练习题目和项目,这些实践机会能帮助你巩固理论知识,提升编程技能。完成每个实验后,你应该对C++的某个特定...

    C语言全书word版CHAR13

    13.8 本章小结 本章详细介绍了C语言中关于文件操作的基本概念和函数用法,涵盖了从文件的打开、读写、关闭到错误检测等各个方面,是编写涉及文件操作的C程序的基础。 总结来说,C语言中的文件操作涉及多个层面,...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    13.6.2 读写文件出错检测函数 205 1113.6.3 文件出错标志和文件结束标志置 0 函数 206 13.7 C库文件 208 13.8 本章小结 第1篇 基本知识 第1章 C++的初步知识 *1.1 从C到C++ *1.2 最简单的C++程序 1.3 C++...

    Visual C++/Turbo C串口通信编程实践 及源代码-1

    4.6.4 小结 141 4.6.5 在ctermview类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手v2.2编程 147 5.1 建立scomm程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与...

    谭浩强C语言word版

    1 C语言概述 2 1.1 C语言的发展过程 2 1.2 当代最优秀的程序设计语言 2 1.3 C语言版本 2 ...13.6.2 读写文件出错检测函数 14 13.6.3 文件出错标志和文件结束标志置0函数 14 13.7 C库文件 14 13.8 本章小结 15

    Visual C++2010开发权威指南(共三部分).part1.rar

    12.2.2 读写文件操作 494 12.2.3 定位文件操作 496 12.2.4 关闭文件操作 497 12.2.5 异常操作 497 12.2.6 文件管理操作 498 12.3 .ini文件读写操作 500 12.4 注册表读写操作 502 12.4.1 注册表简介 502 12.4.2 ...

    Visual C++_Turbo C 串口通信编程实践.(电子工业.龚建伟.熊光明) 第二版 电子版

    4.6.4 小结 141 4.6.5 在CTermView类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手V2.2编程 147 5.1 建立SCOMM程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与接收...

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    10.3.3 用格式化的方式读写文件 10.3.4 用二进制方式向文件读写一组数据 10.4 随机读写数据文件 10.4.1 文件位置标记及其定位 10.4.2 随机读写 10.5 文件读写的出错检测 习题 第11章 常见错误分析355附录 附录A 在...

    谭浩强c语言程序设计

    不多说,很经典的。 谭浩强c语言程序设计(pdf版) 1 C语言概述 1.1 C语言的发展过程 ...13.6.2 读写文件出错检测函数 205 11 13.6.3 文件出错标志和文件结束标志置0函数 206 13.7 C库文件 208 13.8 本章小结

    noip文件操作精讲

    小结 Noip 文件操作是编程语言中最基本也是最重要的一部分,涉及到文件的输入输出操作。无论是 C 语言还是 C++ 语言,文件操作都是必不可少的。通过本文的讲解,读者应该能够掌握 Noip 文件操作的基本概念和应用。

Global site tag (gtag.js) - Google Analytics