`

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语言教程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语言全书word版CHAR13

    13 文件 1 13.1 C文件概述 1 13.2 文件指针 2 13.3 文件的打开与关闭 2 13.3.1 文件的打开(fopen函数) 2 13.3.2 文件关闭函数(fclose函数) 4 13.4 文件的读写 4 13.4.1 字符读写函数fgetc和fputc ...13.8 本章小结 15

    C++ Primer第四版【中文高清扫描版】.pdf

    小结 22 术语 22 第一部分 基本语言 第2章 变量和基本类型 29 2.1 基本内置类型 30 2.1.1 整型 30 2.1.2 浮点型 32 2.2 字面值常量 34 2.3 变量 38 2.3.1 什么是变量 39 2.3.2 变量名 40 2.3.3 定义对象 42 2.3.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串口通信编程实践 及源代码-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语言程序设计

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

    谭浩强 C语言程序设计 教程全书 Word版

    谭浩强 C语言程序设计 教程全书 Word版,内容预览: 1 C语言概述 2 1.1 C语言的发展过程 2 ...13.6.2 读写文件出错检测函数 14 13.6.3 文件出错标志和文件结束标志置0函数 14 13.7 C库文件 14 13.8 本章小结 15

    谭浩强版c语言程序设计

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

    《C语言程序设计》谭浩强

    C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 ...13.6.2 读写文件出错检测函数 205 11 13.6.3 文件出错标志和文件结束标志置0函数 206 13.7 C库文件 208 13.8 本章小结

    c语言(编写程序最佳参考资料)

    1.6 C和C++... 3 1.7 简单的C程序介绍... 4 1.8 输入和输出函数... 5 1.9 C源程序的结构特点... 6 1.10 书写程序时应遵循的规则... 6 1.11 C语言的字符集... 6 1.12 C语言词汇... 7 1.13 Turbo C 2.0...

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

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

    c语言程序设计(第三版)

    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

Global site tag (gtag.js) - Google Analytics