中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vector<char> 與char *

發布時間:2020-05-23 18:23:49 來源:網絡 閱讀:13601 作者:暮色伊人 欄目:編程語言

通常使用vector<char>來存儲二進制數據(比如網絡數據包).因此它會與char* 進行相互轉換,具體方法如下例所示:

#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <cstring>

using namespace std;

void printVector(const vector<char>& v){
    cout << "vector content         : ";
    for_each(v.cbegin(), v.cend(), [](const char& val)->void{cout << val; });
    cout << endl;
}

int main() {

    vector<char> vdata;
    const char* in = "test1";
    vdata.insert(vdata.end(),in,in+strlen(in));
    vdata.insert(vdata.end(),'a');
    printVector(vdata);
    cout << endl;

    char* out = &vdata[0];
    cout <<"vector<char> --> char* : "<< out << endl;
    out[0] = 'j';//can changes the vector's content
    cout <<"vector<char> --> char* after change content: "<< out << endl;
    printVector(vdata);

    cout << endl;
    cout <<"get copied char* from vector<char>..."<<endl;
    char *buffer = new char[vdata.size()];
    std::copy(vdata.begin(), vdata.end(), buffer);
    cout <<"vector<char> --> char* : "<< buffer << endl;
    buffer[0] = 'z';//can changes the vector's content
    cout << "vector<char> --> char* after change content: "<< buffer << endl;
    printVector(vdata);

    return 0;
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

咸宁市| 吉木萨尔县| 肃北| 清水县| 乐都县| 和静县| 新巴尔虎左旗| 通化县| 郧西县| 南澳县| 民丰县| 如东县| 舞钢市| 肇州县| 湘阴县| 湖北省| 鄂伦春自治旗| 怀来县| 河南省| 房山区| 汤原县| 屏山县| 桐庐县| 进贤县| 宣威市| 德钦县| 河津市| 河曲县| 南木林县| 洛隆县| 米泉市| 盐源县| 余姚市| 黑龙江省| 佛山市| 五大连池市| 新化县| 汤原县| 额敏县| 定西市| 启东市|