istreambuf_iterator读取二进制文件,ostream_iterator显示为什么这么慢?该怎么解决

istreambuf_iterator读取二进制文件,ostream_iterator显示为什么这么慢?
istreambuf_iterator读取二进制文件,ostream_iterator显示为什么这么慢?

string   InputFileName; //输入文件绝对路径
//vector <char> m_InputData; //输入文件的内容
string m_InputData;
ifstream   m_InputFile; //输入文件对象
m_InputFile.open(m_InputFileName.c_str(),   ios_base::binary);

//把输入文件的内容全部写入m_InputData
m_InputData.clear();
copy(istreambuf_iterator <char> (m_InputFile),istreambuf_iterator <char> (),  
back_inserter(m_InputData));
copy(m_InputData.begin(),   m_InputData.end(),ostream_iterator <char> (cout,   " "));
m_InputFile.close();

打开显示文本文件很快,但是是二进制文件则很慢,为什么?

------解决方案--------------------
2进制文件,怎么可以随便用cout。
ostream_iterator <int> (cout, " ")大概勉强可用。
------解决方案--------------------
参考《Effective STL》 Item 29
------解决方案--------------------
楼主你还是再看看《Effective STL》Item 29吧。
http://stl.winterxy.com/html/item_29.html