惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园_首页
M
MIT News - Artificial intelligence
雷峰网
雷峰网
GbyAI
GbyAI
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
S
SegmentFault 最新的问题
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
V
Visual Studio Blog
月光博客
月光博客
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
云风的 BLOG
云风的 BLOG
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队

Lan小站-嗯,不错! - C

c++的WS2tcpip和thread的bind冲突怎么解决 - Lan小站-嗯,不错! Visual Studio Code配置C环境,运行C程序 - Lan小站-嗯,不错!
C++ string转CString - Lan小站-嗯,不错!
Lan · 2024-06-24 · via Lan小站-嗯,不错! - C

在C++ 中,将 std::string 转换为 CString 可以使用以下几种方法。其中最简单和高效的一种是使用 CString 的构造函数进行直接转换。以下是几种常见的方法:

方法一:使用 CString 的构造函数

#include <atlstr.h>  // CString 需要这个头文件
#include <string>

int main() {
    std::string stdStr = "Hello, World!";
    CString cstr(stdStr.c_str());

    // 这里可以对 cstr 进行进一步操作

    return 0;
}

方法二:使用 CString 的赋值运算符

#include <atlstr.h>
#include <string>

int main() {
    std::string stdStr = "Hello, World!";
    CString cstr;
    cstr = stdStr.c_str();

    // 这里可以对 cstr 进行进一步操作

    return 0;
}

方法三:使用 CString 的 Format 方法

#include <atlstr.h>
#include <string>

int main() {
    std::string stdStr = "Hello, World!";
    CString cstr;
    cstr.Format(_T("%s"), stdStr.c_str());

    // 这里可以对 cstr 进行进一步操作

    return 0;
}

总结

最简洁和高效的方式是直接使用 CString 的构造函数,这是因为它能够直接从 std::string 的 C 字符串 (c_str()) 创建 CString 对象。这样避免了额外的步骤和临时对象的创建。

#include <atlstr.h>
#include <string>

int main() {
    std::string stdStr = "Hello, World!";
    CString cstr(stdStr.c_str());

    // 这里可以对 cstr 进行进一步操作

    return 0;
}