【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