文件操作:
打开,找到位置,读/写(读写多少),关闭
fstream库实现:
void get_pic(const char * inFilePath, const char * outFilePath){
//打开
/*ios::app: //以追加的方式打开文件
*ios::ate: //文件打开后定位到文件尾,ios:app就包含有此属性
*ios::binary: //以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
*ios::in: //文件以输入方式打开(文件数据输入到内存)
*ios::out: //文件以输出方式打开(内存数据输出到文件)
*ios::nocreate: //不建立文件,所以文件不存在时打开失败
*ios::noreplace://不覆盖文件,所以打开文件时如果文件存在失败
*ios::trunc: //如果文件存在,把文件长度设为0
*用open也可以 in.open( , , )
*/
ifstream in(inFilePath,ios::in|ios::binary);
ofstream out(outFilePath,ios::out|ios::binary);
//获取文件长度endP
long curP,endP;
in.seekg (0, ios::end);
endP = in.tellg();
in.seekg (0, ios::beg);
//获取当前操作位置curP
curP = in.tellg();
//读写
/*ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;
* 类 fstream 的对象同时拥有这两个函数。它们的原型是:
* write ( char * buffer, streamsize size );
* read ( char * buffer, streamsize size );
* 这里 buffer 是一块内存的地址,用来存储或读出数据。参数size 是一个整数值,表示要从缓存(buffer)中读出或写入的字符数。
* 读取写入的过程,都有当前指针指向当前位置
*/
in.read(buffer,4096);
out.write(buffer,4096);
//关闭
in.close();
out.close();
}
本文介绍如何使用C++中的fstream库进行文件的操作,包括文件的打开、读取、写入及关闭等步骤,并通过示例代码详细展示了如何将一个文件的内容复制到另一个文件中。
2万+

被折叠的 条评论
为什么被折叠?



