windows编程中的单字符和宽字符使用 总结
2009-08-01 16:34
453 查看
最近在工作中对单字符和宽字符的使用有点模糊不清了,所以周末把最常用的总结了下。
1. 单字符 char
使用 char *p="Hello" ;
宽字符 wchar_t
使用 wchar_t *wp=L"Hello“;
注意使用wchar_t 的时候字符串前面要加上L
2.如果包含了头文件#include<TCHAR.H>,那么可以用TCHAR,_T,_TEXT来定义统一的字符串
使用 TCHAR *tp=_T("Hello");
或者 TCHAR *tp=_TEXT("Hello");
如果#define _UNICODE ,那么 tp表示一个wchar_t *,否则tp表示char*
3. 如果包含了头文件#include<WINNT.H>或者#include<WINDEF.H>或者
#include<WINDOWS.H>,那么
CHAR 等价于 char
WCHAR 等价于 wchar_t
TCHAR 跟是否 #define UNICODE 有关,如果定义了UNICODE ,那么
TCHAR 等价于 WCHAR 也就是wchar_t,否则
TCHAR 等价于 CHAR ,也就是char
这时候定义统一的字符串可以这么定义:
TCHAR *tp=TEXT("Hello");
如果#define UNICODE ,那么 tp表示一个wchar_t *,否则tp表示char*
4. 关于LPSTR,LPWSTR,LPTSTR 的定义
这几个也是在WINNT.H里面定义的
LPSTR 是指向char 的指针,即 char *
LPWSTR 是指向 wchar_t的指针,即 wchar_t *
如果 #define UNICODE ,那么
LPTSTR 即 wchar_t *,否则
LPTSTR 即 char*
如果这三个中间加有字符"C",表示常量字符串。
1. 单字符 char
使用 char *p="Hello" ;
宽字符 wchar_t
使用 wchar_t *wp=L"Hello“;
注意使用wchar_t 的时候字符串前面要加上L
2.如果包含了头文件#include<TCHAR.H>,那么可以用TCHAR,_T,_TEXT来定义统一的字符串
使用 TCHAR *tp=_T("Hello");
或者 TCHAR *tp=_TEXT("Hello");
如果#define _UNICODE ,那么 tp表示一个wchar_t *,否则tp表示char*
3. 如果包含了头文件#include<WINNT.H>或者#include<WINDEF.H>或者
#include<WINDOWS.H>,那么
CHAR 等价于 char
WCHAR 等价于 wchar_t
TCHAR 跟是否 #define UNICODE 有关,如果定义了UNICODE ,那么
TCHAR 等价于 WCHAR 也就是wchar_t,否则
TCHAR 等价于 CHAR ,也就是char
这时候定义统一的字符串可以这么定义:
TCHAR *tp=TEXT("Hello");
如果#define UNICODE ,那么 tp表示一个wchar_t *,否则tp表示char*
4. 关于LPSTR,LPWSTR,LPTSTR 的定义
这几个也是在WINNT.H里面定义的
LPSTR 是指向char 的指针,即 char *
LPWSTR 是指向 wchar_t的指针,即 wchar_t *
如果 #define UNICODE ,那么
LPTSTR 即 wchar_t *,否则
LPTSTR 即 char*
如果这三个中间加有字符"C",表示常量字符串。
相关文章推荐
- VC++ Windows平台字符透明编程大总结
- VC++ Windows平台字符透明编程大总结
- VC++ Windows平台字符透明编程大总结 - [C/C++]
- VC++ Windows平台字符透明编程大总结
- Windows平台字符透明编程大总结
- Windows编程-1-字符和字符串处理相关知识点总结
- socket编程总结(端口使用/bind/select/iocp等)----windows环境下
- VC++ Windows平台字符透明编程大总结(转)
- Windows 上使用Intellij DEAR14 搭建Spark14编程环境总结
- [小结]Windows环境下Unicode编程总结
- [图解]Symbian 编程总结-工具与扩展-让Symbian SDK使用最新的GCCE进行编译
- Windows网络编程经验总结
- Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI
- 【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结
- Windows下使用Vmware+Fedora10构建嵌入式开发环境总结
- 使用split()遇到的问题和方法总结 ( Dangling meta character 和 多个分隔字符)
- Windows环境下Unicode编程总结
- wxWidgets应用Step by step(一)----使用VS2008 Express + Widgets构建造Windows编程环境
- winform编程DataGridView控件的使用总结
- Windows环境下Unicode编程总结