查看单个帖子
  #6 (permalink)  
旧 2008-06-16
hzzhouqq hzzhouqq 当前离线
初级会员
 
注册日期: 2008-06-11
帖子: 9
hzzhouqq 正向着好的方向发展
默认 回复: ifstream->stringstream?

谢谢版主的提醒。

ifstream ifs ;
string strCache ;

ifs.open("mage.txt", std::ios::in | std::ios::binary ) ;
if (!ifs)
std::cout << "open file error.\n" ;

istreambuf_iterator<char> iter(ifs) ;
strCache = string( iter, (istreambuf_iterator<char>()) );


这样做会将文件中所有内容全部复制到strCache中。
但是,如果我只是要复制前100个字节呢?

之前我没有表达清楚。我使用stringstream, 是因为它的read和write方法,可以方便的读取指定字节数量的内容和写入指定字节数量的内容。而不是像iterator, 一个个字节的推进。

istreambuf_iterator,可以指定字节的读取和写入吗?


此帖于 2008-06-16 11:41 PM 被 hzzhouqq 编辑.
回复时引用此帖