当前位置:首页 C++ > 正文

C++编程之CString、string与、char数组的转换

作者:野牛程序员:2023-06-20 15:27:44 C++阅读 2762

在C++编程中,你可以使用以下方法在CString、string和char数组之间进行转换:

  1. CString转换为string:

    CString cstr = _T("Hello");
    std::string str(CW2A(cstr.GetString()));

    首先,使用_T()宏将CString对象初始化为Unicode字符串。然后,使用cstr.GetString()获取C-style字符串指针,然后使用CW2A()宏将宽字符转换为多字节字符,最后将结果初始化为std::string对象。

  2. string转换为CString:

    std::string str = "Hello";
    CString cstr(str.c_str());

    在这种情况下,你可以使用c_str()函数获取std::string的C-style字符串指针,然后将其传递给CString构造函数,以便初始化CString对象。

  3. char数组转换为string:

    char arr[] = "Hello";
    std::string str(arr);

    在这种情况下,你可以直接使用char数组来初始化std::string对象。

  4. string转换为char数组:

    std::string str = "Hello";
    const char* arr = str.c_str();

    使用c_str()函数可以获取std::string的C-style字符串指针,该指针可以直接赋值给char数组。

需要注意的是,在进行字符串转换时,确保源字符串的内存有效性。此外,CString是MFC库中的一种字符串类型,在使用之前需要包含相关的头文件。如果你在使用标准C++库而不是MFC,建议使用std::string代替CString。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击