一起talk C栗子吧(第一百四十三回:C语言实例--文件操作:基于文件指针三)
2016-05-02 08:38
295 查看
各位看官们,大家好,上一回中咱们说的是基于文件指针进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk C栗子吧!
看官们,我们在上一回中详细地介绍了标准库中与文件操作相关的函数。不过,限于时间的原因,没有举具体的例子。还是那句老话,只说不练,不是我们的风格。因此,今天我们将通过具体的例子来说明如何使用文件指针来操作文件。
对文件的操作,还是使用我总结的文件操作三步曲比较好:
看官们,我要强调一下:和基于文件描述符操作文件一样,基于文件指针进行文件操作时,也很容易发生错误,因此必须检查文件操作的结果。在我们的例子代码中对每一个文件操作的结果都进行了检查。下面是一个检查的例子,请参考:
希望大家能够从例子中明白检查文件操作结果的重要性,进而养成良好的编程习惯。
看官们,以上是核心代码,完整的代码放到了我的资源中,大家可以点击这里下载使用。
在代码中我们首先创建一个名叫test的文件,进而打开了文件输入流,同时得到了指向该输入流的文件指针。然后向该文件中写入数据,最后关闭该文件,进而关闭了文件输入流,同时释放与输入流关联的文件指针。接下来我们以只读的方式打开该文件,进而打开了文件输出流,同时得到了指向该输出流的文件指针,然后从文件中读取数据,并且输出到终端中,最后关闭该文件,进而关闭了文件输出流,同时释放与输出流关联的文件指针。
下面是程序的运行结果:
各位看官,关于文件操作:基于文件指针的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
看官们,我们在上一回中详细地介绍了标准库中与文件操作相关的函数。不过,限于时间的原因,没有举具体的例子。还是那句老话,只说不练,不是我们的风格。因此,今天我们将通过具体的例子来说明如何使用文件指针来操作文件。
对文件的操作,还是使用我总结的文件操作三步曲比较好:
p_file = fopen(file_name,"w"); //打开文件 res = fwrite(buf,sizeof(char),10,p_file); //向文件写入数据 res = fread(buf,sizeof(char),10,p_file); //从文件中读取数据 res = fclose(p_file); //关闭文件
看官们,我要强调一下:和基于文件描述符操作文件一样,基于文件指针进行文件操作时,也很容易发生错误,因此必须检查文件操作的结果。在我们的例子代码中对每一个文件操作的结果都进行了检查。下面是一个检查的例子,请参考:
if(NULL == p_file) { printf("open file %s failed \n",file_name); return 1; }
希望大家能够从例子中明白检查文件操作结果的重要性,进而养成良好的编程习惯。
看官们,以上是核心代码,完整的代码放到了我的资源中,大家可以点击这里下载使用。
在代码中我们首先创建一个名叫test的文件,进而打开了文件输入流,同时得到了指向该输入流的文件指针。然后向该文件中写入数据,最后关闭该文件,进而关闭了文件输入流,同时释放与输入流关联的文件指针。接下来我们以只读的方式打开该文件,进而打开了文件输出流,同时得到了指向该输出流的文件指针,然后从文件中读取数据,并且输出到终端中,最后关闭该文件,进而关闭了文件输出流,同时释放与输出流关联的文件指针。
下面是程序的运行结果:
write 10 chars into file read 10 chars from file,they are hello word
各位看官,关于文件操作:基于文件指针的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
相关文章推荐
- C语言动态存储分配空间作为数组
- c/c++里的 堆区 栈区 静态区 文字常量区 程序代码区
- leetcode笔记:Reverse Vowels of a String
- 【C语言】动态链表和静态链表的创建
- 从txt文件中逐行读取字符串,并且用读取到的字符串在Mat型的图片上画矩形
- leetcode笔记:Reverse String
- C++基础实例(1)
- deepdetect 用c++11写的机器学习caffe和XGBoost API 接口
- 深度分析C++默认构造函数、拷贝构造函数
- C++中操作符重载的使用
- C++中操作符重载的使用
- 【AKOJ】1100-连续和
- C++中构造函数创建对象
- C语言 str2bin 和 bin2str 实现
- c++11新增特性
- C语言输入比较
- C语言——输入输出
- 使用VScode进行C/C++开发
- 在C++中实现字符串分割--split
- 便利的开发工具 CppUnit 快速使用指南