V_BSTR(&var) = SysAllocString(L"Server=.;UID=sa;pwd=;Trusted_Connection=No");
请问诸位高手参数中字符串前面的L起什么作用?我试着把那个字符串改成一个CString类型的变量,替换进去,报错,这难道就没法动态修改吗?
7 个解决方案
#1
L是vc中的宏,将ANSI字符串转换成unicode的字符串。
SysAllocString()要求参数必须是unicode的。
SysAllocString()要求参数必须是unicode的。
#2
啊,原来如此,多谢多谢!那么如果我想用字符串变量替换那个常量呢?难道是L(str_var)吗?
#3
A2W() //ansi转换成unicode
W2A() //unicode转换成ansi
具体用法查MSDN。
W2A() //unicode转换成ansi
具体用法查MSDN。
#4
up
#5
agree
#6
USES_CONVERSION
W2A
A2W
#include "atlbase.h"
W2A
A2W
#include "atlbase.h"
#7
谢了!
#1
L是vc中的宏,将ANSI字符串转换成unicode的字符串。
SysAllocString()要求参数必须是unicode的。
SysAllocString()要求参数必须是unicode的。
#2
啊,原来如此,多谢多谢!那么如果我想用字符串变量替换那个常量呢?难道是L(str_var)吗?
#3
A2W() //ansi转换成unicode
W2A() //unicode转换成ansi
具体用法查MSDN。
W2A() //unicode转换成ansi
具体用法查MSDN。
#4
up
#5
agree
#6
USES_CONVERSION
W2A
A2W
#include "atlbase.h"
W2A
A2W
#include "atlbase.h"
#7
谢了!