1 打开流的函数

  FIEL * fopen(const char * restrict pathname,const char* restrict type)

  FILE *fdopen(int filedes,const char *type)

  注意:函数1:第一个参数打开文件的路径 第二参数打开的方式

       函数2:第一个参数为已经打开的文件描述符

2 打开方式理解

  

特点:type中开头为a的一般为“追加写,也就是说文件的读写位置在文件的末尾。

    type中开头为b的一般是按照二进制文件的形式打开,其他则是按照文本形式打开。

3 返回值

  成功返回file指针,失败将错误的值放入error中

4 关闭流 fclose(FILE *FP)成功返回0 失败返回eof

  注意:fclose()函数在关闭文件的时候将缓冲区中的内容回写到磁盘上,实际上就是进行了一个文件的操作。在网络的环境中,文件的内容是要通过网路传输到达目的主机并写入磁盘。那么如果网络出了问题 这个时候就会导致写入失败。

5 例子1:打开关闭流

 #include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(void)
{
FILE *fp;
int fd;
if( (fp = fopen("test.txt", "w+")) == NULL){ /* 以读写方式打开流 */
perror("fail to open");
exit();
}
fprintf(fp, "hello world\n"); /* 向该流输出一段信息,这段信息会反馈到文件上 */
fclose(fp); /* 关闭流 */
if( (fd = open("test.txt", O_RDWR)) == -){ /* 以读写的方式打开文件 */
perror("fail to open");
exit();
}
if((fp = fdopen(fd, "a")) == NULL){ /* 在打开的文件上打开一个流 */
perror("fail to open stream");
exit();
}
fprintf(fp,"hello world again\n");
fclose(fp); /* 关闭流,文件也被关闭 */
return ;
}

6 截图

  打开test.txt
  

最新文章

  1. 转:MyBean的安装
  2. centos安装vsftp
  3. 网络开始---多线程---GCD-01-基本使用(掌握)(六)
  4. hdu-acm steps FatMouse&#39;s Speed
  5. mysql in和or查询效率
  6. GCD - Extreme (II)
  7. FileDirLocationOperator - 文件或目录位置操作.
  8. SwfUpload及imgareaselect使用方法
  9. RegexOptions.Compiled性能
  10. 关于vs code的个人配置
  11. DBA_基本Bash语法汇总
  12. 采用CAS算法 实现高性能的Disruptor 完成多线程下并发、等待、先后等操作
  13. 【DevExpress】GridView的RowClick事件禁用Checkbox选择的解决办法
  14. BZOJ.1805.[IOI2007]sail船帆(贪心 线段树)
  15. @RequestBody
  16. [TC14126]BagAndCards
  17. centos6下升级git版本的操作记录
  18. 学习构建一个简单的wcf服务
  19. Fiddler抓取https设置详解
  20. JavaScript中的继承模式总结(九)

热门文章

  1. Mysql 性能优化20个原则(1)
  2. Dubbo和Spring集成Demo
  3. 转:给 Android 开发者的 RxJava 详解
  4. 关于HTML中文乱码问题
  5. Linux系统调用(syscall)原理(转)
  6. 线程池实例:使用Executors和ThreadPoolExecutor
  7. java zip压缩文件和文件夹
  8. java 文件读写的有用工具
  9. hdu4921 Map
  10. https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/connections.py