C++ 字符串(string类)

来源:互联网 发布:redis 源码注释 编辑:程序博客网 时间:2024/06/03 03:50

概述:对于字符串在C++中的表现我们可以使用两种方式。其一,使用字符数组的形式,这种风格是C语言形式的。其二,就是使用string类来表示字符串。下面我们分别看一下这两种形式:
一、字符数组:
比如下面这段代码:

#include <iostream>using namespace std;int main (){   char temp[6] = {'H', 'e', 'l', 'l', 'o', '\0'};   cout << "Start message: ";   cout << temp<< endl;   return 0;}

编译运行上面的代码,我们会得到如下结果:

Start message:Hello

因为数组以’\0’作为结束标志,所以任何数组在创建的时候都要多预留出一个位置。其次,数组在创建的时候要给出长度值,否则就要使用new/delete或者malloc/free来动态创建数组了,当然如果在定义的时候进行了初始化也可以不指明长度,例如,下面这种写法也是可以的:

char temp[] = 'Hello';

C++中有一部分函数是用来对该种形式的字符串进行操作的,比如:strcpy(s1, s2)、strlen(s1)等等。

二、string类
在C++中,大部分时间我们都是用string类来表示字符串,顾名思义,string是一个类,是类就有相应的属性和方法,比如下面这段代码:

#include <iostream>#include <string>using namespace std;int main (){   string str1 = "wang";   string str2 = "dong";   string str3;   int  len ;   // 复制 str1 到 str3   str3 = str1;   cout << "str3 : " << str3 << endl;   // 连接 str1 和 str2   str3 = str1 + str2;   cout << "str1 + str2 : " << str3 << endl;   // 连接后,str3 的总长度   len = str3.size();   cout << "str3.size() :  " << len << endl;   return 0;}

通过运用string类自带的方法,可以对字符串进行相应的操作,比之于字符数组确实方便了很多,对于具体的string类都有什么方法可供使用,在此只列举几个常用的,其他的就不一一列举了,大家感兴趣可以自己百度下。

string类提供了一系列针对字符串的操作,比如:    string test = 'This is test' 1. test.append() -- 在字符串的末尾添加字符 2. test.find() -- 在字符串中查找字符串 4. test.insert() -- 插入字符 5. test.length() -- 返回字符串的长度 6. test.replace() -- 替换字符串 7. test.substr() -- 返回某个子字符串
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 冬季咳嗽老不好怎么办 孩子得喉炎咳嗽怎么办 夏天嗓子痒咳嗽怎么办 大人咳嗽老不好怎么办 孩子过敏咳嗽怎么办啊 过敏导致的咳嗽怎么办 奶水多营养不足怎么办 水培富贵竹叶尖发黄怎么办 水培富贵竹干尖怎么办 富贵竹叶子变黄了怎么办 富贵竹叶子变黄怎么办 富贵竹的叶子黄了怎么办 土栽富贵竹发黄怎么办 富贵竹的黄叶子怎么办 土培富贵竹发黄怎么办 富贵竹根变黄了怎么办 富贵竹叶子尖发黄怎么办 富贵竹新叶子发黄怎么办 富贵竹杆变黄了怎么办 水培观音竹叶子发黄怎么办 富贵竹叶子根部发黄怎么办 观音竹叶子干了怎么办 富贵竹叶子发干怎么办 观音竹老叶发黄怎么办 发财树缺营养怎么办 富贵竹根部长芽怎么办 门口的竹子发黄怎么办 富贵竹长根了怎么办 水养竹子太长怎么办 海棠根腐烂了怎么办 水竹根腐烂了怎么办 水培富贵竹黑根怎么办 转运竹根部发黑怎么办 富贵竹跟泡烂怎么办 富贵竹根烂了怎么办 富贵竹的须变黑怎么办 泡富贵竹水发臭怎么办 富贵竹水变黑了怎么办 水观音叶子黄了怎么办 富贵竹根部腐烂发臭怎么办 富贵竹根部发粘怎么办