LPSTR lpszData = NULL;
DWORD dwSize = 5000; if (!InternetGetCookie("http://www.csdn.net", "", lpszData, &dwSize))
{

if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
lpszData = new char[dwSize];
}
else if (GetLastError() == ERROR_NO_MORE_ITEMS)
{
AfxMessageBox("no more items!");
}
else
{

}
}
else
{
AfxMessageBox(lpszData);
}
以上是获取COOKIE代码部分,没有返回错误。但AfxMessageBox(lpszData),得到的好像是空字符串。请各位帮忙看下,是否有不对的地方。

解决方案 »

  1.   

    LPSTR lpszData = NULL;
    DWORD dwSize = 0; if (InternetGetCookie("http://www.csdn.net", "", lpszData, &dwSize))
    {
    lpszData = new char[dwSize];
    if (InternetGetCookie("http://www.csdn.net", "", lpszData, &dwSize))
    {
    AfxMessageBox(lpszData);
    }
    delete lpszData;
    }
      

  2.   

    LPSTR lpszData = NULL; ????
    写入缓存区为NULL,呵呵
    可以这样:
    DWORD dwSize = 0;
    wchar_t* lpszData;
        if (InternetGetCookie("http://www.csdn.net", "", NULL, &dwSize))
        {
            lpszData=new wchar_t(dwSize);
            if (InternetGetCookie("http://www.csdn.net", "", lpszData, &dwSize))
            {
               ......
            }
        }