【C++】字符串的賦值


https://blog.csdn.net/u010141928/article/details/72878386

 

1. string類型,直接賦值,例如:string str="abcd";

2. 對於char數組型變量,在聲明時可以直接賦值,例如:char str[]="abcde";

當然也可以用char c[3]="ab"來進行初始化,但是這樣做需要我們明確知道字符串的長度到底為多少,否則假如這里我們的字符串為“abc”,那么在進行賦值的時候就會報錯,因為字符串的長度還有加上'\0',所以超過了3,所以會報錯!!所以為了更方便最好不要指定大小。

3. 對於char型指針,在聲明時可以直接賦值,例如:char *ch="abc";

3.1右值 “abc”的返回值是 char const *

int main() {

    auto a= "test1";
    cout << typeid(a).name()<<"\n";
    cout << a;
}

輸出值(左值類型 const char * 或者 char *都可以直接輸出字符串):

char const *
test1
 
        
 

3.2 對於char數組型變量,在非聲明的時候進行賦值,不能直接賦值

比如:

char str[64];

str="abcdf";//對數組的不合法賦值,而且長度為6,和64不等

正確的做法為借助於strcpy函數,例如:

char str[64]';

strcpy(str,"abcde");

char *


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM