将VS2005中的“setbuf”移植到VS2008时需要进行哪些更改?
我必须将VS2005中的项目修改为VS2008才能构建它。下面是需要在VS2008中编译的代码行。
std::ifstream In;
In.setbuf(FileBuffer, BUFFER_REGION_SIZE);
当我在VS2008中编译上面的代码时,我看到以下错误。
error C2039: 'setbuf' : is not a member of 'std::basic_ifstream<_Elem,_Traits>'
在VS2008中编译它需要做什么?
答案 0 :(得分:1)
您是否尝试过类似In.rdbuf()->pubsetbuf(FileBuffer, BUFFER_REGION_SIZE);
的内容?
请参阅http://www.cplusplus.com/reference/iostream/streambuf/pubsetbuf/