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:打开关闭流

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <fcntl.h>
 4 int main(void)
 5 {
 6     FILE *fp;
 7     int fd;
 8     if( (fp = fopen("test.txt", "w+")) == NULL){ /* 以读写方式打开流 */
 9         perror("fail to open");
10         exit(1);
11     }
12     fprintf(fp, "hello world\n"); /* 向该流输出一段信息,这段信息会反馈到文件上 */
13     fclose(fp);                     /* 关闭流 */
14     if( (fd = open("test.txt", O_RDWR)) == -1){ /* 以读写的方式打开文件 */
15         perror("fail to open");
16         exit(1);
17     }
18     if((fp = fdopen(fd, "a")) == NULL){ /* 在打开的文件上打开一个流 */
19         perror("fail to open stream");
20         exit(1);
21     }
22     fprintf(fp,"hello world again\n");
23     fclose(fp);                 /* 关闭流,文件也被关闭 */
24     return 0;
25 }

6 截图

  打开test.txt
  

转载于:https://www.cnblogs.com/lanjianhappy/p/7193271.html

linux基于流的文件操作相关推荐

  1. Linux C高级编程——文件操作之库函数

    Linux C高级编程--文件操作之库函数 宗旨:技术的学习是有限的,分享的精神是无限的 --为什么要设计标准I/O库? 直接使用API进行文件访问时,需要考虑许多细节问题 例如:read.write ...

  2. java流与文件——操作文件

    [0]README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件--操作文件 的相关知识: 0.2) for source code, please vi ...

  3. Linux C高级编程——文件操作之系统调用

    Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的! 库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准.使用库函数编写的函数一般可以应用 ...

  4. 大白菜读取linux硬盘,大白菜的linux之旅,文件操作首探

    大白菜的linux之旅,文件操作首探 程序代码:#include #include #include #include #define MAXLEN 100 void charge(char argv ...

  5. C# IO流读写文件操作

    C# IO流读写文件操作 1.创建文件流 2.创建文件读写器 3.执行读写操作 4.关闭文件读写器和文件流 1.创建文件流 string filePath = AppDomain.CurrentDom ...

  6. Java流与文件操作

    Java流与文件操作 数据流的基本概念 总体流程图 文件相关操作 创建文件 获取文件的相关信息方法 目录的操作和文件删除 Java IO流原理 流的分类 FileInputStream FileOut ...

  7. linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...

    天萃荷净 使用dd复制asm中文件,随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习笔记 1.查询ASM某个数据文件AU信息 SQL&g ...

  8. [转] linux系统文件流、文件描述符与进程间关系详解

    http://blog.sina.com.cn/s/blog_67b74aea01018ycx.html linux(unix)进程与文件的关系错综复杂,本教程试图详细的阐述这个问题. 包括:     ...

  9. Linux学习笔记6 文件操作——文件描述符

    基于文件描述符的文件操作 进程一启动,内核就打开了三个描述符,0(标准输入 STDIN),1(标准输出STDOUT), 2(标准错误输出STDERR).Linux用整形数做文件操作,因此称为文件描述符 ...

最新文章

  1. Mac brew安装maven
  2. oracle mssql交换数据库,Database link 连接oracle MSSql 实现逻辑数据互导
  3. c mvc ajax 返回下拉框,SpringMVC之ajax+select下拉框交互常用方式
  4. 防止ACCESS数据库被下载的9种方法
  5. 3K档真香旗舰!一加9RT今日正式开售:榨干索尼IMX 766旗舰传感器
  6. solr mysql 速度_提高solr的搜索速度
  7. 提高 Linux 开发效率的 5 个工具
  8. Android Studio设置Eclipse快捷键
  9. c++自动抢购_淘宝 2020双十一最新版 全自动做任务软件 超级星秀猫 来了!上车~...
  10. 考研二战上岸985的经验教训分享
  11. pr同时对多个视频进行缩放
  12. pyTorch常用工具包
  13. nodejs c++ addon插件的应用场景
  14. 学习笔记1:线性回归和逻辑回归、AUC
  15. echart旭日图_ECharts 旭日图
  16. 【号外】疑似阿尔法狗回归,Master打遍世界顶尖棋手没输过
  17. iOS网络-网络安全
  18. doraemon的python 格式化排版
  19. php做照片墙,照片墙作业练习
  20. 回调函数到底有什么好处

热门文章

  1. C Primer Plus 第6章 C控制语句:循环 6.9 选择哪种循环
  2. 多线程编程, 这三个方法够我用了.
  3. 协议学习:TCP/IP协议之物理层 上
  4. php phar 无法创建,php composer.phar install 安装问题
  5. 数据库表的软硬关联_数据库软删除和硬删除
  6. PIL图像处理:旋转图像
  7. 无线信号功率计算公式(自由空间模型,地面反射模型)
  8. FPGA管脚分配文件的保存
  9. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...
  10. 如何自动设计多流网络 实现GPT3大规模神经网路同等规模的网络