Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ string转char*

作者:狂刀血斧   发布日期:2026-01-07   浏览:22

#include <iostream>
#include <string>

int main() {
    // 创建一个 C++ string 对象
    std::string str = "Hello, World!";

    // 方法 1: 使用 c_str() 方法,返回 const char* 类型
    const char* cstr1 = str.c_str();
    std::cout << "Using c_str(): " << cstr1 << std::endl;

    // 方法 2: 如果需要非 const 的 char*,可以先分配内存然后复制字符串内容
    char* cstr2 = new char[str.size() + 1];
    strcpy(cstr2, str.c_str());
    std::cout << "Using strcpy(): " << cstr2 << std::endl;

    // 记得释放动态分配的内存
    delete[] cstr2;

    return 0;
}

解释说明:

  1. c_str() 方法std::string 提供了 c_str() 方法,它可以将 std::string 转换为 const char*。这是最简单和安全的方式,但返回的指针是只读的,不能修改其内容。

  2. strcpy() 方法:如果你需要一个可修改的 char*,你可以使用 new 动态分配内存,并用 strcpy 将字符串内容复制到新分配的内存中。注意,这种方式需要手动管理内存,使用完后要调用 delete[] 来释放内存,以避免内存泄漏。

  3. 注意事项:在使用 c_str() 返回的指针时,确保 std::string 对象在其生命周期内保持有效,因为 c_str() 返回的指针指向的是 std::string 内部的缓冲区。

上一篇:c++动态数组怎么定义

下一篇:lambda表达式c++

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站