64,639
社区成员
发帖
与我相关
我的任务
分享
string filename;
ifstream infile;
infile.open(filename.c_str(),ios::binary)
if (!infile)
{
return;
}
infile.seekg( 0 , ios::end );
unsigned long len = infile.tellg();
BYTE buffer = new BYTE[len];
infile.seekg(0,ios::beg);
infile.read(buffer,len);
//还有些检查流状态,上一次操作状态函数
infile.close();
delete [] buffer; //c++要自己管理申请的内存
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream file;
//打开文件
// ios::app: 以追加的方式打开文件
// ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性
// ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
// ios::in: 文件以输入方式打开(文件数据输入到内存)
// ios::out: 文件以输出方式打开(内存数据输出到文件)
// ios::nocreate: 不建立文件,所以文件不存在时打开失败
// ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
// ios::trunc: 如果文件存在,把文件长度设为0
file.open("C:\\out.txt", ios::binary|ios::in);
if ( !file.is_open() )
{
cout << "fail" << endl;
return 0;
}
char buffer[1024]; //存储读取字符串
file.read(buffer, 1024);
cout << buffer << endl;
return 0;
}
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main() {
ifstream inFile("test.txt");
vector<unsigned char> bvec;
copy(istream_iterator<string>(inFile), istream_iterator<string>(), back_inserter(bvec));
copy(bvec.begin(), bvec.end(), ostream_iterator<string>(cout,"\n"));
inFile.close();
return 0;
}