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

推荐订阅源

J
Java Code Geeks
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
Jina AI
Jina AI
博客园_首页
M
MIT News - Artificial intelligence
D
DataBreaches.Net
L
LangChain Blog
宝玉的分享
宝玉的分享
F
Fortinet All Blogs
A
About on SuperTechFans
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
腾讯CDC
Vercel News
Vercel News
雷峰网
雷峰网
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】

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;
}