字符转化终极篇章

公众号:程序员崛起

转码(常用类型和字符转换)

string 和 char*

TCHAR * 转为char *   和 char  * 转为 TCHAR * (wchar_t*、WCHAR)

以前简单的提到过,字符为什么转换,现在来讲讲,字符怎么转化为一个“类(容器)”,这里所谓的转化准确的说其实对其中的字符串的成员函数中的字符串进行拷贝。

eg:

int f(char *docText) 
{
    CString csRowInf(docText);
    wstring wsRowinf = csRowInf;
    return 1;
}

简单解释下这段代码:

将字符串docText,放到CString 类型里面,于此同时CString会完成一系列的初始化,然后你可以通过CString的成员函数进行一些获取长度等等操作;

而底下的 wstring 也是类似的,唯一不同的可能是 CString 中的模板兼容,以 wchar_t 和 char 为蓝本的类型,且会自动转换;而 wstring 只会兼容以 wchar_t 为蓝本的类型……string 类似

CString、wstring、string三种类型的转换

void f(char *str) 
{
    CString csChar(str);
    wstring wsChar = csChar;
    string stChar = wsChar;
}

// 至于 string 和 wstring 转换是需要使用 CString为中间变量
void g(char *str)
{
    string stStr(str);
    CString csStr(stStr);
    wstring wsChar = csChar;
}

 

你可能感兴趣的:(C++)