字符串笔记

字符串常量

  • 1.各字符连续、顺序存放,每个字符占一个字节,以‘\0’结尾,相当于一个隐含创建的字符常量数组
  • 2.“program”出现在表达式中,表示这一char数组的首地址
  • 3.首地址可以赋给char常量指针:
  • 4.const char *S = "program";
  • 字符串变量

  • 可以显式创建字符数组来表示字符串变量,例如,以下三条语句具有等价的作用:

    char str [8] = {'p', 'r', 'o', 'g', 'r', 'a', 'm', '\0'};

    char str [8] = "program";

    char str [] = "program";

  • 二维字符型数组

  • Char a[5][10] :数组中有5个字符串,每个字符串有10个字符。

  • 字符数组表示字符串的缺点:执行连接、拷贝、比较等操作,都需要显式调用库函数,很麻烦。当字符串长度很不确定时,需要用new动态创建字符数组,最后要用delete释放,很繁琐。字符串实际长度大于为它分配的空间时,会产生数组下标越界的错误

  • 解决方法:使用字符串类string表示字符串。string实际上是对字符数组操作的封装

  • 字符串函数

  • strcpy函数
  • 格式: Strcpy(数组1,数组2)
  • 功能: 将数组2的字符复制到数组1中
  • #include <iostream>
    #include <string>
    void main()
    {
    char a[10],   b[]={"china"};
    	strcpy(a,b);
    	cout<<a<<endl;
    }
    
    strcat函数
  • 格式: strcat(数组1,数组2)
  • 功能: 连接两个数组,将数组2的字符连接到数组1中
  • #include <iostream> 
    #include <string>
    void main()
    {
    	char a[12]={"leaf"};
    	char b[6]={"apple"};
    	strcat(a,b);
    	cout<<a<<endl;
    }
    
    strlen函数
  • 功能:测试字符串长度 (不包括空字符)
  • strupr函数
  • 功能:将小写字母转换成大写字母。
  • string类

  • 常用构造函数
  •         string(); //缺省构造函数,建立一个长度为0的串
  •         string(const char *s);      //用指针s所指向的字符串常量初始化string类的对象
  •         string(const string& rhs);  //拷贝构造函数
  • 例: string s1;         //建立一个空字符串
  •         string s2 = “abc”;  //用常量建立一个初值为”abc”的字符串
  •         string s3 = s2;  //执行拷贝构造函数,用s2的值作为s3的初值
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值