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
  

linux基于流的文件操作的更多相关文章

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

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

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

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

  3. 流的文件操作(File)

    一.流的分类: 1.流按照方向分类:分为输入流和输出流,流的操作是相对于内存而言. 输入流的定义:当我们从数据源中将数据读取到内存中就称为输入流,也叫读取流. 输出流的定义:当我们将内存中处理好的数据 ...

  4. C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)

    文件流 FileStream  可读可写  大文件  释放 StreamReader 读取   释放 StreamWriter 写入   释放 using 中释放 File 可读可写  小文件 操作文 ...

  5. JAVA中的I/O流以及文件操作

    一 JAVA语言中主要通过流来完成IO操作. 流:计算机的输入输出之间流动的数据序列,也是类的对象.java中的流方式就像是建立在数据交换源和目的之间的一条通信路径. 数据源:计算机中的数据源是指可以 ...

  6. java IO流 对文件操作的代码集合

    Io流 按照分类 有两种分类 流向方向: 有输入流和输出流 按照操作类型有:字节流和字符流 按照流向方向 字节流的一些操作 //读文件 FileInputStream fis = new FileIn ...

  7. Linux常见系统命令与文件操作

    一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠“/”表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/r ...

  8. I/O流、文件操作

    1)操作文件 Path和Files是在JavaSE7中新添加进来的类,它们封装了在用户机器上处理文件系统所需的所有功能.Path表示的一个目录名序列,其后还可以跟着一个文件名.路径中的第一个参数可以是 ...

  9. Node.js入门教程 第四篇 (流及文件操作)

    流 Stream是Node.js中的抽象接口,有不少Node.js对象实现自Stream. 所有的Stream对象都是EventEmitter 的实例. 例如:fs模块(用于读写操作文件的模块) fs ...

随机推荐

  1. HDOJ 4003 Find Metal Mineral

    题意: 一棵有权树,从根结点中放入 K 个机器人.求用这 K 个机器人遍历全部的结点最少的权值和. 思路: 1. dp[u][i] 表示给以 u 为根节点的子树放 i 个机器人,遍历其子树所须要的最小 ...

  2. 入手Arduino Yun,配合Blynk搞一波事情

    前言 原创文章,转载引用务必注明链接. 最近在闲鱼上与别人用RPi2尸体+好的BBB换了个Arduino Yun,等了几天赶在节前收到了.出奇的轻巧,产地台湾,官方正品做工就是精细~采用5v Micr ...

  3. DesiredSize,RenderSize&& Width ,ActualWidth

    做UI的时候刚入门,很多属性摸不着头脑,需要的功能和属性不能很快联系联想到,所以要慢慢积累UIElement 的DesiredSize 和 RenderSize UIElement 的DesiredS ...

  4. 距特征之k阶距概念

    k阶原点距和k阶中心距各是说明什么数字特征 http://www.cnblogs.com/emanlee/archive/2011/04/25/2028628.html 二阶中心距,也叫作方差,它告诉 ...

  5. 2016/06/16 phpexcel

      程序部分   require_once './phpexcel/PHPExcel.php';   // 首先创建一个新的对象  PHPExcel object $objPHPExcel = new ...

  6. jvm 调优(1)概念

    数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用,而不是对象本身, ...

  7. hadoop报JAVA_HOME is not set暂时解决办法

    直接在etc/hadoop/hadoop-env.sh中 export JAVA_HOME=XXX

  8. css简单的数学运算

    calc()是css3的一个新增的属性, .box{border:1px solid #ddd;  width:calc(100% - 100px);  background:#9AC8EB;} 兼容 ...

  9. 关于div li 等标签之间自带间距

    可以用float来清除标签之间的间距. ps :ul使用font-size:0 唯一的缺点就是要再次设置LI的font-size

  10. 一个简单的servlet

    1.创建一个自己的servlet文件,继承HttpServlet MyServlet.java package com.jmu.ccjoin.controller; import java.io.IO ...