33,311
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include "windows.h"
#include "shellapi.h"
#include <string>
#include "stdlib.h"
//#include <wstring>
#include <tchar.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t *site=L"http://www.google.fr/";
wchar_t *param=L"search?hl=fr&q=sd&btnG=Recherche+Google&meta=&aq=f&oq=";
size_t len;
size_t converted;
//把site从wchar_t转换成char
char *CStr1;
len = wcslen(site)+1;
converted = 0;
CStr1=(char*)malloc(len*sizeof(char));
wcstombs_s(&converted, CStr1, len, site, _TRUNCATE);
cout <<CStr1 <<endl;
//同上,转换param然后拼起来得到完整url地址
char *CStr2;
len=wcslen(param)+1;
converted=0;
CStr2=(char*)malloc(len*sizeof(char));
wcstombs_s(&converted, CStr2, len, param, _TRUNCATE);
cout <<CStr2 <<endl;
strcat(CStr1,CStr2);
cout << "第一次:\n" << CStr1 <<endl;
//把url地址转成wchat_t形
wchar_t *url;
len = strlen(CStr1)+1;
converted = 0;
url=(wchar_t*)malloc(len*sizeof(wchar_t));
mbstowcs_s(&converted, url, len, CStr1, _TRUNCATE);
wcout << "转换到宽字符:\n" << url << endl;
//把url从wchar_t再转回char
char *CStr;
len = wcslen(url)+1;
converted=0;
CStr = (char*)malloc(len*sizeof(char));
wcstombs_s(&converted, CStr, len, url, _TRUNCATE);
//这个输出结果就不对了....
cout << "//这个输出结果就不对了....?\n" << CStr <<endl;
getchar();
return 0;
}