怎么不用strstream,从ifstream转换到string,并且保留空格如题string covstr(ifstream& if)我用过stream_i
怎么不用strstream,从ifstream转换到string,并且保留空格
如题
string covstr(ifstream& if);
我用过stream_iterator但是不知道为什么没有办法保留空格
[解决办法]
如果追求速度的话,可以考虑使用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());
}
