c++字符转换及介绍(未完)
一、说在前面几个概念
LPSTR:即 char *,指向以'/0'结尾的8位(单字节)ANSI字符数组指针。
LPWSTR:即wchar_t *,指向'/0'结尾的16位(双字节)Unicode字符数组指针。
LPCSTR:即const char *
LPCWSTR:即const wchar_t *
LPTSTR:即LPSTR、LPWSTR二选一,取决于是否宏定义了UNICODE或ANSI。
LPCTSTR:即LPCSTR、LPCWSTR二选一,取决于是否宏定义了UNICODE或ANSI。
二、string与char * 之间
string是标准c++中标准库中的内容。
1、string => char*
string类的c_str()方法转换为char*
2、char * => string
初始化一个string时直接使用一个char*,或者char数组的名字。
使用string类的append方法。
3、sting转化为int等
使用atoi,atol等函数,int等转string:使用itoa函数。都是基于char*为中介。
itoa( int value, char *string, int radix );
第一个参数:你要转化的int;
第二个参数:转化后的char*;
第三个参数:你要转化的进制;
三、CString与char*之间
CString是VC中的内容。
在非MFC工程中加上头文件 <atlstr.h>即可用
在MFC工程中,如果仅仅是需要ctstring则只要加上头文件<afxstr.h>即可。
1、char*等转换为CString
CString有个Format函数很好用,可以将许多变量转化为CString。
2、CString转换为char*
例如:LPWSTR p = str.GetBuffer();
CString转string:可以通过char*进行。
(未完待续)