c++ char[]转换 string array vector代码示例

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

c++ char[]转换 string array vector 方法代码示例。


提示:以下是本篇文章正文内容,下面案例可供参考

一、代码示例?

#include <iostream>
#include <vector> 
#include <string>
#include <array>
#include <list>
#include <algorithm>
#include <string.h>

using namespace std;


std::string charArrayToString(const char* cstr) {  
    std::string result;  
    while (*cstr != '\0') { // 遍历C风格字符串直到遇到null终止符  
        result.push_back(*cstr++); // 将当前字符添加到std::string中,并移动到下一个字符  
    }  
    return result;  
}  


int main()
{
    // char[] 转 string 1
    char buf[256] = "hello world!";
    string buf_s(buf);
    cout << buf_s.size() << buf_s <<endl;

    buf_s.clear();
    cout << buf_s.size() << buf_s <<endl;
    // char[] 转 string 2
    buf_s = charArrayToString(buf);
    cout << buf_s.size() << buf_s <<endl;

    // string 转 char[] 1
    string buf_s1 = "hello world!1";
    char buf1[256] = {0};
    strcpy(buf1, buf_s1.c_str());
    cout << "buf1: " << buf1 <<endl;

    // string 转 char[] 2
    buf_s1 = "hello world!11";
    std::copy(buf_s1.begin(), buf_s1.end(), buf1); // 复制字符,但不包括null终止符 
    buf1[buf_s1.size()] = '\0';
    cout << "buf1: " << buf1 <<endl;

    // char[] 转 array 1
    char a_buf[256] = "Hello, World!";
    array<char, 256> arr;
    std::copy_n(a_buf, 256, arr.begin());

    std::cout << "Data in std::array from char[]: ";
    for (const auto& ch : arr) {
        std::cout << ch;
    }
    std::cout << std::endl;

    // array 转 char[] 1
    char a_buf1[256] = {0};
    array<char, 256> arr1 = {"hello world!!"};
    std::copy_n(arr1.begin(), 256, a_buf1);

    cout << a_buf1 << endl;

    // char[] 转 vector 1
    
    char v_buf[256] = "Hello, World!";
    std::vector<char> vec;
    vec.reserve(sizeof(v_buf) - 1);  // 预分配内存
    std::copy_n(v_buf, sizeof(v_buf) - 1, std::back_inserter(vec));

    // 输出 std::vector<char> 中的数据
    std::cout << "Data in std::vector<char>: ";
    for (const auto& ch : vec) {
        std::cout << ch;
    }
    std::cout << std::endl;

    // vector 转 char[] 1
    char v_buf_1[256] = {0};
    std::copy_n(vec.begin(), vec.size(), v_buf_1);
    cout << v_buf_1 << endl;

    return 0;
}

总结

以上 c++ char[]转换 string array vector 方法代码示例,仅供参考。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值