第二十章:字符串入门

本文介绍了C++中字符串入门的知识,包括字符串的基本操作如声明、赋值和取值,以及通过实例讲解如何处理字符串。文章通过四个例题,涵盖数字和、输入输出、车牌号分析和最长连续重复字符的求解,深入浅出地探讨了字符串在实际问题中的应用。
摘要由CSDN通过智能技术生成

 字符串入门

一、知识引入

  对于一个或多个字符构成的序列,除了用字符数组存储以外,还可以用C++ string类来进行字符串的处理。

  要使用string 类,必须在程序中包含头文件cstring。string类的定义隐藏了字符串的数组性质,让我们能够像处理普通变量那样处理字符串。

  使用string类型串具有一些独特的优势。 首先, 它在内存使用上是自动的, 需要多少, 开辟多少, 并且能够根据字符串大小的变化自动调整所开辟的内存,无需考虑越界的情况; 此外, string类附带了功能丰富的函数,方便进行一系列的复杂操作。

  下面我们还是先从声明、赋值以及取值三方面来简单了解string 类的使用。

二、字符串的基本操作

1、声明:

string  字符串名; 例如:string a; / string a,b; 字符串初始状态为空串。

Copy

                                    

2、赋值:

方式 含义
cin >> a; 用cin读取一段字符串,并将它赋值给a。缺点:无法识别空格和换行符。
getline ( cin,a); 可识别空格的赋值方式。
getline(cin,a,'分隔符'); 这里的分割符就相当于是“结束符”,我们是在输入的字符串结尾额外再加一个符号,构成a的全部内容。
string a1(a); 定义了一个字符串a1,并将它初始化为和字符串a一样的内容(保证在此之前a已经定义并初始化过了)。
string a2=a+a1; 定义了一个字符串a2,并将它的内容初始化为a和a1拼接在一起的结果。

PS: string类变量在存储字符时,方式时和字符数组一样的,依然是把每个字符拆分开来单独放置在对应的“小房子”中。
                                    

3、取值:

  字符串的取值很简单,一个cout指令直接搞定。下面举一个简单的完整程序,帮助大家了解一下字符串的一般操作。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a;
    cin>>a;
    string a1(a);
    string a2=a;
    string a3(5,'0');
    string a4=a2+a3;
    cout<<a<<endl<<a1<<endl<<a2<<endl<<a3<<endl<<a4;
}

Copy

正在上传…重新上传取消

4、关于下标:

  对于一个string 类变量a,当你采用cin方式赋值时,“一千个人眼里有一千个哈姆雷特”,一个人赋值的结果也有成百上千种可能---每个人塞到a里面的字符串内容是不同的,字符串的长度也是不同的。所以呢,想要获取实际字符串长度,需要借助其他函数:

(1)  a.size()     (2)a.length()

Copy

                                    

  上述两个函数的功能都是返回a中字符的实际个数。知道了个数,具体每一个元素的下标也就一清二楚了。这里同样举一个具体的程序:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a;
    cin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值