首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何不用strstream,从ifstream转换到string,并且保留空格

2013-03-27 
怎么不用strstream,从ifstream转换到string,并且保留空格如题string covstr(ifstream& if)我用过stream_i

怎么不用strstream,从ifstream转换到string,并且保留空格
如题
string covstr(ifstream& if);
我用过stream_iterator但是不知道为什么没有办法保留空格
[解决办法]

引用:
引用:getline.
不会速度很慢吗?

如果追求速度的话,可以考虑使用MapFileOfView将文件映射到内存,这样你操作的就是一个大字符串了。
扫描映射内容,每出现一个换行符就获得一行了。扫不到换行符就继续换区域映射。

// 将文件全部读出放到字符串中,当然,这个只是操作小文件闹着玩的。
string covstr(ifstream& ifs)
{
istream_iterator<char> ii(ifs);
istream_iterator<char> end;
vector<char> vec;
ifs >> noskipws;
copy(ii, end, back_inserter(vec));
return string(vec.data(), vec.size());
}

热点排行