使用 CHttpFile::QueryInfo() 这个函数,查询下载的文件大小。代码是这样的CHttpFile* pFile;
....(省略给pFile赋值的部分)//查询文件长度
CString strLen;
pFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH,strLen);  
DWORD nSum =atol((char*)strLen.GetBuffer());  //问题就是这里咯~~~~
strLen.ReleaseBuffer();
在上面的代码中,我获得的文件大小,nSum,在多元字节下,是正确的。但是,在UNICODE下,就始终是0咯
这个,怎么解决呢???请求解答,谢谢!!!!!

解决方案 »

  1.   

    前面打错咯
    是多字节下正确,UNICODE下错误。
      

  2.   

    知道原因咯
    我的 strLen 里面确实得到咯数据,错在后面那句DWORD nSum =atol((char*)strLen.GetBuffer());  //问题就是这里咯~~~~UNICODE下,用 atol这个,貌似不能得到我要的数据请问下,我应该怎么得到喃?
    此时我的 strLen = _T("1374852");
    我想把它转换为 int ....
      

  3.   

    就用 DWORD dwData = _tcstoul( str, NULL, 10 );
      

  4.   

    楼主可以吧Unicode转为Ansi,然后再去获取长度