C/C++文件输入输出流

    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处理为两个字符

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

posted @ 2016-04-10 15:15  liutianchen  阅读(519)  评论(0)    收藏  举报