LPTSTR 和 LPCTSTR 和 LPWSTR等等,它们的区别是什么,他们的原形是什么? LPTSTR 和 LPCTSTR 和 LPWSTR等等,它们的区别是什么,他们的原形是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LPSTR 32位字符串指针 lpszName LPCSTR 32位常量字符串指针 LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 LPWSTR是unicode LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*) LPSTR 32-bit指针,指向一个字符串LPCTSTR 32-bit指针,指向一个常数字符串,此字符串可移植到Unicode和DBCS(双字节字集)LPTSTR 32-bit指针,指向一个字符串,此字符串可移植到Unicode和DBCS(双字节字集)LPCSTR 32-bit指针,指向一个常数字符串LPWSTR 以\0结束的Unicode字符串,即双字节 区别楼上已经说了,我不废话,MSDN是这样定义原型的:typedef CONST CHAR *LPCSTR, *PCSTR;typedef LPCSTR LPCTSTR;typedef WCHAR *LPWSTR, *PWSTR;typedef CONST WCHAR *LPCWSTR, *PCWSTR; LPSTR 指向一个以 NULL 结尾的8 bit ANSI字符串LPWSTR 指向一个以 NULL 结尾的16 bit ANSI字符串LPTSTR 如果定义了UNICODE宏(#def UNICODE),LPTSTR等同于lpwstr,如果没有定义unicode宏,lptstr等同于LPSTR 区别于有C的那一套,上面的三个都是变量,有C的那一套都是常量。LPSTR对应与LPCSTRLPWSTR对应与LPCWSTRLPTSTR对应与LPCTSTR CHAR 8bit ansi字符WCHAR 16bit unicode字符TCHAR 如果定义了UNICODE宏(#def UNICODE),TCHAR 等同于WCHAR ,如果没有定义unicode宏,TCHAR 等同于CHAR 字符串操作,你们熟悉的那套是针对ANSI字符串设计的,还有一套针对宽字符设计的函数。例如: wcsncpywcsncatstrncmy同样,还有一套unicode字符串和ansi字符串之间相互转换的函数:例如:WideCharToMultiByte * 摄像头采集图像 * 软件实时显示 * 响应速度很慢 * * * * 字符串转二进制 视频问题 多文档中新建子窗口,然后调用OnOpenFile(),可以内容显示不出来,求救!!!!!!!! 怎样用MFC创建表格式查看、修改数据? 巨难问题~~~~~~~~~~ 关于CString的问题。 调试时出现这样的警告是什么意思? ShellExecute? 请问我怎么截获读光驱事件?哪位能介绍一下光驱的编程,谢谢 MyICQ-0.8-alpha1(公开源代码)发布了,希望大家多提意见! 调用dll中的类出错
LPCSTR 32位常量字符串指针
LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针
LPWSTR是unicode
LPCTSTR 32-bit指针,指向一个常数字符串,此字符串可移植到Unicode和DBCS(双字节字集)
LPTSTR 32-bit指针,指向一个字符串,此字符串可移植到Unicode和DBCS(双字节字集)
LPCSTR 32-bit指针,指向一个常数字符串
LPWSTR 以\0结束的Unicode字符串,即双字节
typedef LPCSTR LPCTSTR;
typedef WCHAR *LPWSTR, *PWSTR;
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
LPWSTR 指向一个以 NULL 结尾的16 bit ANSI字符串
LPTSTR 如果定义了UNICODE宏(#def UNICODE),LPTSTR等同于lpwstr,如果没有定义unicode宏,
lptstr等同于LPSTR
区别于有C的那一套,上面的三个都是变量,有C的那一套都是常量。
LPSTR对应与LPCSTR
LPWSTR对应与LPCWSTR
LPTSTR对应与LPCTSTR
CHAR 8bit ansi字符
WCHAR 16bit unicode字符
TCHAR 如果定义了UNICODE宏(#def UNICODE),TCHAR 等同于WCHAR ,如果没有定义unicode宏,
TCHAR 等同于CHAR
字符串操作,你们熟悉的那套是针对ANSI字符串设计的,
还有一套针对宽字符设计的函数。
例如:
wcsncpy
wcsncat
strncmy
同样,还有一套unicode字符串和ansi字符串之间相互转换的函数:
例如:
WideCharToMultiByte