C++常用的读写文件代码
来源:互联网 发布:如何查看java源码 编辑:程序博客网 时间:2024/05/17 04:54
一.首先常用的C读写文件方法函数,C++中完美兼容使用C代码,只是头文件略有不同。以下是C++代码:
1.写文件字符串
#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;int main(){ FILE *fp; //文件指针 char buf[10240]="hello , everyone!!!"; //写入的字符串 if((fp = fopen("C:\\file1.txt","w+"))==NULL){ //打开文件,若文件不存在则创建文件 printf("can not open file"); exit(0); } //一次性写入 fwrite(buf,sizeof(char),strlen(buf),fp); fclose(fp); return 0;}
2.读文件字符串
#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;int main(){ FILE *fd; //文件指针 char buf[10240]; //读入的字符串保存区 if((fd = fopen("C:\\file.txt","r+"))==NULL){ //打开文件 printf("can not open file"); exit(0); } //得到文件内容的长度 fseek(fd,0,SEEK_END); //把文件的位置指针移到文件尾 long len=ftell(fd); //获取文件长度; fseek(fd,0,SEEK_SET); //文件指针返回头部 fread(buf,sizeof(char),len,fd); //读文件 fclose(fd); return 0;}char数组buf保存需要写入文件的字符串,文件指针保存文件中读写的位置;
fopen函数有两个参数,函数原型FILE * fopen(const char * path,const char * mode);
第一个参数path为文件的路径,第二个参数为文件的读写模式,常用的有w,r;
w表示写,r表示读,在后面加上加号就是读写皆可,即w+和r+一样,都表示文件读写,但是具体含义有区别,详见下文;
若想二进制读取,则在后面加b,如wb+,rb+;
在非二进制读取时,windows下回将0a转换成odoa,即\n转换成\r\n;
若想追加方式读写,则为a+或者ab+;
fopen函数中w+和r+以及a+的区别:
r+从文件头开始写,保留文件中没有被覆盖的那部分内容,文件必须存在;
w+写文件时,文件不存在会先创建文件,支多级目录创建,若文件存在,会清空文件,从头开始写文件;
a+是支持追加写文件,文件不存在也会跟 w+一样支持创建,若文件存在,会找到文件尾追加写入;
二.C++字符串流的文件读写
#include <iostream>#include <fstream>using namespace std;int main(){ ifstream in("C:\\file.txt",ifstream::in); //第二个参数可省 ofstream out("C:\\file.txt",ofstream::out); //第二个参数可省 // ofstream out("C:\\file.txt",ofstream::app); //追加写文件 char buf[10240]="hello everyone!!!!"; if(in) in>>buf; //读文件 else printf("can not open the file"); if(out) out<<buf; //写文件 else printf("can not open the file"); return 0;}
头文件ftream定义了三个类型来支持文件IO, ifstream ofstream fstream;
可以用IO运算符(<<和>>)来读写文件,也可以用getline从ifstream 中读取数据;
默认构造函数的第二个参数为文件模式(file mode),如下:
ifstream in;in.open("C:\\file.txt",ifstream::in);
0 0
- C++常用的读写文件代码
- 读写文件的代码
- C语言中常用的文件读写方法(一)
- C语言中常用的文件读写方法(二)
- c语言文件操作常用函数及读写文件代码举列
- C文件的读写
- C文件的读写
- 纯C下的读写BMP文件代码
- 纯C下的读写BMP文件代码
- 纯C下的读写BMP文件代码收藏
- 纯C下的读写BMP文件代码
- C++_文本文件读写常用代码
- C++_文本文件读写常用代码
- C++_文本文件读写常用代码
- Java文件读写(IO)常用代码
- 常用的文件读写函数
- C#_文件读写常用类介绍
- C语言常用文件读写函数记录
- 重构机房收费系统总结
- java开发中的那些事(2)-------给视图建立主键
- Everything搜索技巧
- <Eclipse+Android>import已经导入的文件提示已存在
- po vo pojo domain 区别
- C++常用的读写文件代码
- poj 1753 Flip Game
- IOS中触摸事件(touch event)的分发以及响应者链(The Responder Chain)机制理解
- 找不同
- 解决firefox打开flash死机的问题
- 设计模式学习笔记之迭代器模式
- UVALive 6495 Probability Paradox AC自动机+高斯消元
- 【转】MyEclipse下XFire开发Webservice实例
- HDU2199 Can you solve this equation 二分求方程的根