【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 *
posted @   nntzhc  阅读(5231)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示