我正在將版本2005的Visual Studio解決方案移植到版本2010.ifstream _Read_s怎麼了?
其中一個項目是使用ifstream的本地C++項目。
轉換過程成功完成,但是當我嘗試構建本地項目時,編譯器說「_Read_s不是ifstream的成員」。
_Read_s發生了什麼?
有編譯器的變化,使方法不能訪問?
這是Visual Studio 2005中建立正確的代碼:
ifstream binfile(pathFileToRead, ios::in | ios::binary | ios::beg);
while (!binfile.eof())
{
binfile._Read_s(fileBuffer, CACHE_SIZE, CACHE_SIZE);
//Do something with fileBuffer
}
什麼是'_Read_s'?我從來沒有見過。什麼是生成錯誤的代碼? –
據我所知_Read_s是Read的一種更安全的版本,微軟添加到它的STL實現中......我將添加一個代碼示例 – sblandin
另外,'while(!eof())'幾乎總是一個bug C/C++。 –