ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ string如何赋值给字符数组

2024-08-01 10:01:30  阅读:134  来源: 互联网

标签:


在 C++ 中,可以使用 strcpy 函数或字符数组的循环方式将 string 赋值给字符数组。

下面是使用 strcpy 函数将 string 赋值给字符数组的示例代码:

#include <iostream>
#include <cstring>

int main() {
    std::string str = "Hello, World!";
    char char_array[20];

    strcpy(char_array, str.c_str());

    std::cout << "赋值后的字符数组:" << char_array << std::endl;

    return 0;
}

C++

在上面的示例中,我们定义了一个 string 对象 str,并初始化为 "Hello, World!"。然后,定义了一个大小为 20 的字符数组 char_array。使用 strcpy 函数将 str.c_str() 的内容拷贝到 char_array

输出结果如下:

赋值后的字符数组:Hello, World!

另一种方式是使用字符数组的循环方式进行赋值,示例如下:

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    const char* str_cstr = str.c_str();
    int size = str.length();
    char char_array[20];

    for (int i = 0; i < size; ++i) {
        char_array[i] = str_cstr[i];
    }
    char_array[size] = '\0';

    std::cout << "赋值后的字符数组:" << char_array << std::endl;

    return 0;
}

C++

在这个示例中,我们首先获取 str 的 c_str(),然后使用 length() 函数获得 str 的长度。然后,我们使用循环将每个字符从 str_cstr 复制到 char_array。最后,我们在 char_array 的末尾添加一个 null 字符('\0'),以确保字符数组正确终止。

输出结果同样为:

赋值后的字符数组:Hello, World!

无论使用 strcpy 还是字符数组的循环方式,你都可以将 string 赋值给字符数组。选择哪种方式取决于你的需求和偏好。

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有