函数形参怎么转换成宽字符?看下面
changepassword(wchar *user, wchar *pass)
{
.....
}
mian()
{
changepassword(L"admin",L"123");
return;
}
对字符串常量 可以这样 L"string";
我想对字符串变量 转换 该怎么做 。因为changepassword()的参数 有时候要用其他字符串变量的
我我尝试 L(字符串变量);和(L)字符串变量; 都不行
我想问下要是不用 mbstowcs和WideCharToMultiByte 函数 怎么做最简单
我想啊 字符串常量都可以转换 那变量被赋值后 应该也可以啊
[解决办法]
对于c语言,C99的标准库里面有wchar.h。
提供了宽字符输入/输出,和宽字符操作等函数。
[解决办法]
WideCharToMultiByte,L什么的只对常量有用
要么你就整个程序全部统一,用wchar或char,话说似乎很多开源软件里都是用的char以及utf-8编码,只是如果你要算字符数而不是字节数的话就需要调用函数才行
[解决办法]
试试 _bstr_t
Header: comutil.h
Lib: comsuppw.lib or comsuppwd.lib
#include <iostream>#include <string>#include "comutil.h"#pragma comment(lib, "comsuppw.lib")using namespace std;int main() { // 窄字符输入,宽字符输出 _bstr_t strTmp = "hello"; wcout << (wchar_t*) strTmp << endl; // 宽字符输入,窄字符输出 strTmp = L"hello"; cout << (char*)strTmp << endl; system("pause"); return 0;}
[解决办法]
不会混乱。