91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++中string怎么賦值給char數組

c++
小億
472
2023-11-14 11:36:16
欄目: 編程語言

要將一個C++的string賦值給一個char數組,可以使用string的成員函數c_str()來獲取一個指向字符數組的指針,并將其賦值給char數組。

下面是一個示例代碼:

#include <iostream>
#include <string>

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

    // 使用c_str()函數將string賦值給char數組
    std::strcpy(arr, str.c_str());

    std::cout << arr << std::endl;

    return 0;
}

這段代碼將string對象str賦值為"Hello, world!",然后使用c_str()函數將str轉換為一個const char*類型的指針,然后使用strcpy()函數將c_str()函數返回的指針所指向的字符串復制到char數組arr中。最后,輸出arr的內容。

注意,char數組的長度應該足夠大以容納string對象的內容和空字符’\0’。不過,在C++11中,也可以使用string的成員函數copy()來將string復制到char數組中,這樣可以避免緩沖區溢出的風險。示例如下:

#include <iostream>
#include <string>

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

    // 使用copy()函數將string賦值給char數組
    str.copy(arr, sizeof(arr));

    // 將最后一個字符設置為'\0',以表示字符串的結束
    arr[str.size()] = '\0';

    std::cout << arr << std::endl;

    return 0;
}

這段代碼和前面的示例相似,但使用了string的成員函數copy()來避免緩沖區溢出的風險。在調用copy()函數之后,需要手動將最后一個字符設置為’\0’,以表示字符串的結束。

0
桓台县| 桦甸市| 澄江县| 井冈山市| 盘锦市| 双柏县| 清流县| 茶陵县| 江津市| 九龙县| 贵溪市| 洞头县| 融水| 寿宁县| 阿克陶县| 平遥县| 谢通门县| 哈巴河县| 高密市| 永城市| 陇南市| 崇州市| 迭部县| 德庆县| 略阳县| 平乡县| 溆浦县| 纳雍县| 淅川县| 宁远县| 灵宝市| 兰溪市| 兴化市| 西宁市| 普兰县| 岑溪市| 金门县| 广平县| 鄂州市| 商都县| 遵义县|