本文是从msdn上转过来的,写的非常全面了。
http://msdn.microsoft.com/zh-cn/library/ms235631(v=vs.80).aspx
本主题演示如何将各种 Visual C++ 字符串类型转换为其他字符串。可以转换的字符串类型包括 char*、wchar_t*、_bstr_t、CComBSTR、CString、basic_string 和 System.String。在所有情况下,在将字符串转换为新类型时,都会创建字符串的副本。对新字符串进行的任何更改都不会影响原始字符串,反之亦然。
1、此示例演示如何从 char * 转换为上面列出的其他字符串类型。
输出
Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System::String)
2、此示例演示如何从 wchar_t * 转换为上面列出的其他字符串类型。
输出
Hello, World! (wchar_t *) Hello, World! (char *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System::String)3、此示例演示如何从 _bstr_t 转换为上面列出的其他字符串类型。输出
Hello, World! (_bstr_t) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System::String)4、此示例演示如何从 CComBSTR 转换为上面列出的其他字符串类型。输出
Hello, World! (CComBSTR) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System::String)5、此示例演示如何从 CString 转换为上面列出的其他字符串类型。输出
Hello, World! (CString) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (basic_string) Hello, World! (System::String)6、此示例演示如何从 basic_string 转换为上面列出的其他字符串类型。输出
Hello, World! (basic_string) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (System::String)7、此示例演示如何从 System.String 转换为上面列出的其他字符串类型。输出
Hello, World! (System::String) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string)关于_viriant_t和std::string之间的转换