C++ string的使用

在了解如何使用string类之前,我们先来看看C语言中使用字符串有多麻烦:

调用头文件:cstring

定义一个C字符串:

	char str1[51]="Hello World";
char str2[51]="你好,世界"; printf("%s \n %s",&str1,&str2);

判断两个字符串是否相等:

	if(strcmp(str1,str2))
//do sth.

后续赋值:

	strcpy(str1,str2);

现在来看看string是如何使用的:

string类的成员函数:

名称 功能
构造函数 初始化字符串
析构函数 销毁字符串
= 赋值
+,+ =,append( ),push_back() 拼接字符串
insert () 插入字符
erase() 删除字符
clear() 移除全部字符(相当于="")
resize() 改变字符数量
replace() 替换字符
!=,==,<,<= ,>=,> 比较字符串
c_str() 将内容以 C - string 形式返回
substr() 返回子字符串
size(),length() 返回字符串长度
find() 搜寻某子字符串或字符
begin( ),end() 提供正向迭代器支持
rbegin(),rend() 提供逆向迭代器支持
[],at() 返回某个位置的字符

调用头文件:string

	string str1;//初始化字符串,空字符串
string str2 = str1; //拷贝初始化,其内容等于s1
string str3 = "I am b"; //直接初始化
string str4(10, 'a'); //s4存的字符串是aaaaaaaaaa
string str5(str4); //拷贝初始化
string str6("I am d"); //直接初始化
string str7 = string(6, 'c'); //拷贝初始化,cccccc

string的操作:

	string str8=str3+str4; //将s3与s4拼接,储存在s8内
string str9="the str9: ";
str9+=str6; //直接拼接
cout << str9.size() << endl; //输出s9的长度
cout << str9[5] << endl; //输出s9的第5个字符 string str10;
getline(cin,str10); //读取一整行字符串至s10(即按下回车键才终止输入)
cout << str10 << endl; //输出刚才输入的字符串 string str11=str7.substr(0,3); //截取str7从0到3之间的字符串
cout << str11 << endl; str11.insert(1,"bbb"); //将"bbb"插入到s11的第1个位置中
str11.erase(1,3); //删除s11的第1个位置之后的3个字符
cout << str11 << endl; str11="123456789"; //对s11进行重新赋值
s11tr.replace(3-1,3,"kkk"); //替换s11的第3-1个位置之后的3个字符串为"kkk"
cout << str11;

显而易见,C++的string类比C的字符串定义好非常多。

最后补上一句:STL大法好!!!

C++ string类的使用的更多相关文章

  1. 标准库String类

    下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...

  2. 自己实现简单的string类

    1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...

  3. C++ string类的实现

    c++中string类的实现 今天面试被考到了, 全给忘记了!!!   //string类的实现 #include <iostream> #include <string.h> ...

  4. String类的功能

    String类              标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...

  5. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  6. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  7. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  8. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  9. String类常用方法

    1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...

  10. 运用String类实现一个模拟用户登录程序

    package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...

随机推荐

  1. QQ群985135948入群密码

    QQ群985135948入群密码:键盘第三排从左往右依次按过去,就是密码 点下面这个键应该可以进群哦!

  2. 将本地文件git到远程github仓库

    使用git管理项目是开发人员必备的技能,下面就介绍如何使用git将本地文件管理并且同步到github上面. 小白可以参考 创建SSH-key并且在github中添加认证 在本地用户的.ssh文件下面生 ...

  3. Linux 环境c++ 编码转换

    #include <iconv.h> //代码转换:从一种编码转为另一种编码 static int CodeConvert(char *from_charset,char *to_char ...

  4. C++ log4cpp使用(转)

    参考文章: 1.常用C++库(1)日志库 https://blog.csdn.net/qilimi1053620912/article/details/87378707 2.一步步入门log4cpp  ...

  5. Python发带附件的邮件

    python实现发送带附件的邮件 import smtplib from email.mime.text import MIMEText from email.mime.multipart impor ...

  6. restful设计参考

    https://www.cnblogs.com/pyspark/p/8599210.html 以下查阅多处文档,思考总结: 所谓restful规范代表一种理想状态,首先对此种规范表示赞同,但应不忘实事 ...

  7. 数组的concat连接

    let arr1 = [1,3,5],arr2 = [2,32,78],arr3 = [];arr3 = arr1.concat(arr2);// arr1 = [1,3,5] arr2 = [2,3 ...

  8. 题解 【洛谷P4995】跳跳!

    一看题目名字,下意识地认为DP. 打开题目,发现是一道水的贪心,和DP没一分钱关系(毕竟是洛谷最水月赛的T2). 废话不多说. 看完题面,首先想到排序.要将乱序的石头高度变为有序,才能更好地想题. C ...

  9. CrystalDecisions.Windows.Forms文件

    1.CrystalDecisions.Windows.Forms 相关dll文件 CrystalDecisions.Crystalreports.Engine.dllCrystalDecisions. ...

  10. 基于alpine的php-fpm扩展swoole和pdo_mysql

    vim Dockerfile 插入一下内容 FROM php:fpm-alpine RUN echo http://mirrors.aliyun.com/alpine/v3.10/main>/e ...