亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
崇信县| 青冈县| 汪清县| 布尔津县| 竹溪县| 米林县| 平昌县| 五指山市| 独山县| 昌江| 涿州市| 贵港市| 云霄县| 邛崃市| 大悟县| 谢通门县| 类乌齐县| 多伦县| 汨罗市| 富民县| 嘉义县| 穆棱市| 平潭县| 关岭| 曲周县| 七台河市| 民和| 车险| 阿克苏市| 松潘县| 佛坪县| 仪陇县| 阳山县| 开封县| 黑龙江省| 五峰| 赤壁市| 新河县| 柳江县| 河西区| 阳东县|