C++方式 C方式
头文件   fstream stdio.h
open   file.open(const char *filename,const char *mode) FILE* fopen(const char *filename,const char 
mode 只读 ios::in r
只写 ios::out w
文件末尾 ios::ate a
附加 ios::app a+
存在则删除 ios::trunc w+
不存在则创建/存在则失败 ios::noreplace  
不存在则失败 ios::nocreate r+
二进制方式 ios::binary b
文本方式 default t//default
检测 返回值 file.is_open()  
返回值 成功 1 FILE* fp
失败 0 NULL
按字符读写 读取 char file.get()/bool file.get(ch) char fgetc(FILE* fp)
写入 file.putback() fput(char ch,FILE* fp)
读取整行 清空缓存 file.getline(char *buffer,int ncount,char delim='\n')  
保留缓存 file.get(char *buffer,int ncount,char delim='\n') char *fgets(char *buf, int bufsize, FILE *stream);
写入整行     fputs(FILE *fp,char *str)
文件尾部 到达返回1,否则返回0 file.get()==EOF/file.peek()==EOF int feof(FILE* fp)
按格式读写 读取 file<<arguments fscanf(FILE*fp,const char format,&argument)
写入 file>>buffer fprint(FILE*fp,const char format,argument)
操作符 换行 endl \n'
结束字符串 ends \0'
二进制方式读写 读取 file.read(char * str,size) size_t fread(  void *buffer,   size_t size,   size_t count,   FILE *stream );返回成功的块数
写入 file.write(char * str,size) size_t fwrite(  void *buffer,   size_t size,   size_t count,   FILE *stream );返回成功的块数
位置移动 读取方式 seekp(size,mode)//操纵同一个指针 fseek(FILE*fp,size,mode)//成功返回0,失败返回非零
写入方式 seekg(size,mode)//操纵同一个指针
移动方式 当前位置 ios::cur SEEK_CUR
从文件开头 ios::beg SEEK_SET
从文件末尾 ios::end SEEK_END
指针复位 遇到EOF之后不再有效,需要重新打开文件 file.seekg(0)/file.seekp(0) void rewind(FILE*fp)
求当前位置 读取 pos_type file.tellp() long ftell(FILE*fp)
写入 pos_type file.tellg()
关闭文件   file.close() int fclose(FILE *fp)
    tellg返回指针所在的位置数,windows将换行符\n处理为两个字符

点击右键选择在新标签页查看图片以获得清晰图片

C/C++文件输入输出流的更多相关文章

  1. Java精选笔记_IO流(字符输入输出流、字符文件输入输出流、字符流的缓冲区)

    字符流 Reader是字符输入流的基类,用于从某个源设备读取字符 Writer是字符输出流,用于向某个目标设备写入字符 字符流操作文件 字符输入流FileReader,通过此流可以从关联的文件中读取一 ...

  2. java Io文件输入输出流 复制文件

    package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  3. c++文件输入输出流fstream,对输入>>和输出<<重载

    1. fstream 继承自iostream --> 要包含头文件#include<fstream> 2. 建立文件流对象 3. 打开文件夹 4. 测试是否打开成功 5. 进行读写操 ...

  4. 文件输入输出流工具: IOUtils使用总结

    序言 以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便.下面就结合源码,看看IOUTil ...

  5. C#文件输入输出流

    从输入流中读取数据(行读取字符串) using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  6. java——IObufferedReader文件输入输出流

    package com.jredu.ch02_lianxi; import java.io.BufferedReader;import java.io.BufferedWriter;import ja ...

  7. java 输入输出流1 FileInputStrem&&FileOutStream

    通过文件输入流读取问价 package unit6; import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...

  8. JAVA基础-输入输出流

    一,File类:文件的创建和删除 1.File(String pathname):pathname是指路径名称.用法 File file = new File("d:/1.txt " ...

  9. c++语言的输入输出流库

    1.c++语言标准输入输出流 <1>控制符的用法 #include <iostream> #include <iomanip> using namespace st ...

随机推荐

  1. [Z] Linux下进程的文件访问权限

    原文链接:http://blog.csdn.net/chosen0ne/article/details/10581883 对进程校验文件访问权限包括两个部分,一是确定进程的角色(属于哪个用户或者组), ...

  2. Halcon学习之七:改变图像的现实方式和大小

    change_format ( Image : ImagePart : Width, Height : ) 改变Image图像大小,而且ImagePart图像为灰度值图像. crop_domain ( ...

  3. RHCE7 学习里程-3基本命令

    一.centos7  基本命令 #创建文件 touch a.b #创建文件夹 mkdir abc #删除文件 rm -f a.b #删除空文件夹 rm -rf abc #重命名文件 mv 源文件 新文 ...

  4. Maven中dependencyManagement使用

    在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器. 在dependencyManagement下申明的dependencies,Maven ...

  5. ffmpeg基本用法(转)

    FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种 ...

  6. python算法之快速排序

    快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所 ...

  7. 【312】◀▶ arcpy 常用函数说明

    其他常用的 ArcPy 函数说明 序号 类名称   功能说明   语法 & 举例 01 RefreshActiveView   ====<<<< Description ...

  8. 关于junit包导入不了但是maven本地库中却存在的问题

    导入项目的时候发现junit的类使用不了,于是就去看看包导入了没有 发现包是灰色的,于是猜想可能是maven本地库中包没下载过来 查询了本地库发现包是存在的,这就奇怪的,经过网上查询之后得到解决方案 ...

  9. Python中的try...except...finally

    Python的异常处理代码格式如下: try: // do something except Exception as e: // dual with exception finally: // fi ...

  10. 01-MySQL优化大的思路

    首先不是看它的表结构等等.从整体上去观察,不断去看它的状态.这个状态往往不是一两个小时可以看出来的,得写一个脚本,观察它的24小时的周期性变化,不断刷新它的脚本,观察它的Status.主要是看它有没有 ...