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

c++string字符串转为数组

作者:野牛程序员:2024-07-14 12:58:56 C++阅读 2348
c++string字符串转为数组

在C++中,可以将 std::string 字符串转换为字符数组。有几种方法可以实现这一点,以下是一些常见的方法:

方法一:使用 c_str() 方法

c_str() 方法返回一个指向正规C字符串的指针,实际内容为字符数组。可以将其复制到一个字符数组中。

#include <iostream>
#include <cstring>  // 包含 strcpy

int main() {
    std::string str = "Hello, World!";
    char arr[50];  // 确保数组大小足够大
    std::strcpy(arr, str.c_str());

    std::cout << arr << std::endl;  // 输出字符数组
    return 0;
}

方法二:使用 std::vector<char>

可以使用 std::vector<char> 来存储字符串内容,以便更灵活地处理字符数组。

#include <iostream>
#include <vector>

int main() {
    std::string str = "Hello, World!";
    std::vector<char> arr(str.begin(), str.end());
    arr.push_back('\0');  // 添加字符串终止符

    std::cout << &arr[0] << std::endl;  // 输出字符数组
    return 0;
}

方法三:手动逐字符复制

可以手动将 std::string 中的字符复制到字符数组中。

#include <iostream>

int main() {
    std::string str = "Hello, World!";
    char arr[50];  // 确保数组大小足够大

    for (size_t i = 0; i < str.size(); ++i) {
        arr[i] = str[i];
    }
    arr[str.size()] = '\0';  // 添加字符串终止符

    std::cout << arr << std::endl;  // 输出字符数组
    return 0;
}



野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击