CHttpFile乱码问题
时间:2011-12-18
来源:互联网
xp vs2010 unicode环境
WideCharToMutliByte函数来实现 。。
复制内容到剪贴板
#define _AFXDLL
#define UNICODE
#define _UNICODE
#include "string"
#include "afx.h"
#include "afxinet.h"
using namespace std;
string Unicode2Ansi(wchar_t* wstr) {
int len = WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wstr,-1,NULL,0,NULL,NULL);
char* tmps = new char[len];
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wstr,-1,tmps,len,NULL,NULL);
string ss = tmps;
delete [] tmps;
return ss;
}
int main() {
CInternetSession sess(_TEXT(""));
CHttpFile* file = (CHttpFile*)sess.OpenURL(_TEXT("http://www.baidu.com"));
CString str;
while (file->ReadString(str)) {
cout << Unicode2Ansi(str.GetBuffer()) << endl;
}
file->Close();
cin.get();
return 0;
}
我那么 转换编码不对吗? 应该怎么转换呢?我知道可以用ReadString的另一个重载达到 目的 ,但是我想知道怎么利用" {) W: b: \& J, S( y; D) S+ t8 I代码:
#include "iostream"#define _AFXDLL
#define UNICODE
#define _UNICODE
#include "string"
#include "afx.h"
#include "afxinet.h"
using namespace std;
string Unicode2Ansi(wchar_t* wstr) {
int len = WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wstr,-1,NULL,0,NULL,NULL);
char* tmps = new char[len];
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wstr,-1,tmps,len,NULL,NULL);
string ss = tmps;
delete [] tmps;
return ss;
}
int main() {
CInternetSession sess(_TEXT(""));
CHttpFile* file = (CHttpFile*)sess.OpenURL(_TEXT("http://www.baidu.com"));
CString str;
while (file->ReadString(str)) {
cout << Unicode2Ansi(str.GetBuffer()) << endl;
}
file->Close();
cin.get();
return 0;
}
WideCharToMutliByte函数来实现 。。
作者: ninty 发布时间: 2011-12-18
啊,确实不知道,希望坛子里有其他午饭来帮帮你
作者: Bill_Hoo 发布时间: 2011-12-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28