以下行在vc6中编译正常,但是当我在vs2008中升级项目时,我发现了很多错误但主要有2个错误。
//open log file
parent->m_LogFile.open(strFileName, ios::app | ios::out, filebuf::sh_read);
错误:错误C2653:'ios':不是类或命名空间名称
CString CReverseProxy::PutData(CString strData)
{
CString strSW = "";
CString strPayload;
DWORD dwRet;
BYTE SendBuffer[MAX_LEN];
BYTE RecvBuffer[MAX_RETURN_SIZE];
ULONG ulSendLength = sizeof(SendBuffer);
ULONG ulRecLength = sizeof(RecvBuffer);
while ((strData.GetLength() / 2) > 255)
{
strPayload = strData.Mid(0, 510);
strData = strData.Delete(0, strPayload.GetLength());//error
错误:错误C2593:'operator ='不明确。
答案 0 :(得分:1)
第一个问题可能是通过在您打开时使用std::ios
或在文件开头使用using std::ios
来解决的。
第二个问题是由CString::Delete
返回int引起的。这绝对不是你想要分配给strData
的,对吧?只需删除作业,Delete
无论如何都会修改strData
。