这是什么意思:字符串前面干嘛有个“L”

时间:2021-01-28 02:47:18
就比如说在用sql-ns编程时,要生成connectstring,范例中给了个
V_BSTR(&var) = SysAllocString(L"Server=.;UID=sa;pwd=;Trusted_Connection=No");
请问诸位高手参数中字符串前面的L起什么作用?我试着把那个字符串改成一个CString类型的变量,替换进去,报错,这难道就没法动态修改吗?

7 个解决方案

#1


L是vc中的宏,将ANSI字符串转换成unicode的字符串。

SysAllocString()要求参数必须是unicode的。

#2


啊,原来如此,多谢多谢!那么如果我想用字符串变量替换那个常量呢?难道是L(str_var)吗?

#3


A2W()  //ansi转换成unicode
W2A()  //unicode转换成ansi

具体用法查MSDN。

#4


up

#5


agree

#6


USES_CONVERSION
W2A
A2W
#include "atlbase.h"

#7


谢了!

#1


L是vc中的宏,将ANSI字符串转换成unicode的字符串。

SysAllocString()要求参数必须是unicode的。

#2


啊,原来如此,多谢多谢!那么如果我想用字符串变量替换那个常量呢?难道是L(str_var)吗?

#3


A2W()  //ansi转换成unicode
W2A()  //unicode转换成ansi

具体用法查MSDN。

#4


up

#5


agree

#6


USES_CONVERSION
W2A
A2W
#include "atlbase.h"

#7


谢了!