C++中string與字符數組的互相轉化

string是C++標準庫類型,用於表示可變長的字符序列。

1 字符數組轉化爲string

1.1直接複製或者賦值

通過直接複製或者賦值的方式,可以將字符數組轉換爲string。

char ach1[] = "Hello";
string str1(ach1);
string str2 = ach1;
    1. 1.2通過加法運算符或者複合賦值運算符

char ach2[] = "World";
str2 += ach2;
string str3 = str1 + " " + ach2;

需要注意的是,在使用加法運算符時,運算符兩側的操作數不能都是字符數組。

string str4 = ach1 + ach2;//錯誤

2 string轉化爲字符數組

通過string類的c_str()函數,可以將string轉化爲字符數組。c_str()函數返回值是一個C風格字符串,也就是說,該函數的返回結果是一個指向字符數組的指針。

char ach3[20];
strcpy(ach3, str1);//錯誤
strcpy(ach3, str1.c_str());//正確

其中,strcpy()函數的作用是將指定的字符串進行拷貝,該函數無法拷貝string對象,只能拷貝string對象的c_str()函數返回的字符串。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章