栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++字符串

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++字符串

1. 字符串是存储在内存的连续字节的一系列字符。

      c风格字符串:以空字符‘’结尾       

int main() {

    char arr[2] = {'a','b'}; //非字符串
    char arr1[2] = {'a',''}; //字符串

    cout<

    程序运行结果如图所示,由于arr1以‘’结尾,所以cout在打印时发现空字符停止,而arr由于没有空字符所以cout会一直打印直到在内存中遇到空字符停止。 

       字符串常量可如下初始化:

        如下arr3和arr4,用此方式初始化时,该字符串隐式的包含了结尾的空字符,所以arr3长度为2. 

int main() {

    char arr[2] = {'a','b'};
    char arr1[2] = {'a',''};
    
    char arr3[2] = "a";
    char arr4[] = "bn";

    cout<

        注意:在采用字符串数组的方式初始化字符串时,需要保证数组足够大能够存储对应的字符串,在计算字符串所需的最短数组时,要将结尾的空字符计算在内。

       如下程序中,sizeof(arr1)输出的是整个数组的长度,strlen(arr1)输出的是可见字符,即忽略了空字符,所以在计算字符串所需最短数组时,其值应该为strlen(arr1)+ 1.

int main() {
    
    char arr1[2] = {'a',''};
    
    cout< 

2. 字符串拼接

        任意两个由空白(空格、制表符和换行符)分隔的字符串常量都将自动拼接成一个。 所以程序的结果相同。

int main() {

    cout<<"I" "love"< 

3. C++string类 

字符数组和string方法对比
字符数组string
赋值

不能将一个数组赋值给另外一个数组

可以使用

strcpy(arr1,arr2) 赋值使用

char* strncpy(char* dst, const char* src, int len); //赋值超出长度时使用

可以将一个string对象赋值给两另一个对象

拼接 

strcat(arr1,arr2) //拼接

char *strncat(char *dest, const char *src, size_t n)//拼接超出长度使用
str1+="ABC"
长度strlen(arr1)str1.size()
初始化未初始化的数组内容未定义,所以strlen(arr1) 得到的结果可能不同未初始化的str对象长度自动设置为0

 4. 其他字符串字面值

        wchat_t , char16_t, char32_t, 原始(raw)字符串。 

        暂记,之后详细介绍~~

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290548.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号