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语言》作为一本编程指南书籍,应该涉及了上述各个方面。对于程序员来说,掌握这些知识点并不断实践是提升代码质量、编写高效程序的关键。无论是初学者还是有经验的开发者,都...
#### 三、小结 本文介绍了C++中文件操作的基础知识,包括文件流的种类、文件的打开与关闭方式、基本读写操作以及二进制文件的处理方法。掌握这些基础知识对于开发基于文件处理的应用程序至关重要。
5. **文件操作**:可能涉及到读取和保存用户输入的集合数据,这可能需要用到C++的文件流(fstream)库进行文件的读写操作。 6. **错误处理**:良好的编程实践中,应考虑异常情况,如用户输入非法数据或文件读写失败...
1 C语言概述 2<br/>1.1 C语言的发展过程 2<br/>1.2 当代最优秀的程序设计语言 2<br/>1.3 C语言版本 2<br/>1.4 C语言的特点 3<br/>1.5 面向对象的程序设计语言 3<br/>1.6 C和C++ 3<br/>1.7 简单的C程序介绍 4...
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++...
4.6.4 小结 141 4.6.5 在ctermview类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手v2.2编程 147 5.1 建立scomm程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与...
11. **文件I/O**:理解如何读写文件,进行数据的持久化存储。 在进行实验时,每个章节通常都会包含一些练习题目和项目,这些实践机会能帮助你巩固理论知识,提升编程技能。完成每个实验后,你应该对C++的某个特定...
13.8 本章小结 本章详细介绍了C语言中关于文件操作的基本概念和函数用法,涵盖了从文件的打开、读写、关闭到错误检测等各个方面,是编写涉及文件操作的C程序的基础。 总结来说,C语言中的文件操作涉及多个层面,...
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++...
4.6.4 小结 141 4.6.5 在ctermview类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手v2.2编程 147 5.1 建立scomm程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与...
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
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 ...
4.6.4 小结 141 4.6.5 在CTermView类中字添加符键入处理代码与串口接收处理代码 142 第5章 串口调试助手V2.2编程 147 5.1 建立SCOMM程序工程实现界面功能 147 5.2 串口的初始化及关闭 150 5.3 串口数据的发送与接收...
10.3.3 用格式化的方式读写文件 10.3.4 用二进制方式向文件读写一组数据 10.4 随机读写数据文件 10.4.1 文件位置标记及其定位 10.4.2 随机读写 10.5 文件读写的出错检测 习题 第11章 常见错误分析355附录 附录A 在...
不多说,很经典的。 谭浩强c语言程序设计(pdf版) 1 C语言概述 1.1 C语言的发展过程 ...13.6.2 读写文件出错检测函数 205 11 13.6.3 文件出错标志和文件结束标志置0函数 206 13.7 C库文件 208 13.8 本章小结
小结 Noip 文件操作是编程语言中最基本也是最重要的一部分,涉及到文件的输入输出操作。无论是 C 语言还是 C++ 语言,文件操作都是必不可少的。通过本文的讲解,读者应该能够掌握 Noip 文件操作的基本概念和应用。
谭浩强 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