string型c语言,C++中string字符串类型介绍

本文探讨了C语言与C++中字符串处理的差异。在C语言中,字符串被视为字符数组,而在C++中,引入了string类,提供了更加方便的操作,如初始化、比较和连接。C++中的string可以通过符号+进行连接,使用==等操作符进行比较,更符合人类思维。此外,还介绍了C++中string的一些常用操作,如length()、empty()和resize()等。
摘要由CSDN通过智能技术生成

1. 简介

C语言中通过字符相连已经基本创造出了字符串的常规操作,然而,字符串在C语言中并不是常规类型,而是一个类似于数组的结构,在C++中,通过模板类的操作创建了string类,这样的方法更适合于现代的操作编程。

2. 头文件&命名空间#include     //头文件

注意不是也不是,前者为C文件中的头文件,后者为C++中调用的C文件。using namespace std; //命名空间

string来自于std命名空间,常用的绝大多数操作均来自这个空间,string也不例外。

3. 初始化

与第五章的STL内容十分相近,两者的创建方法基本完全相等,这里直接使用代码举例,不多做缀数。#include

#include

using namespace std;

int main(){

string str;       //创建空字符串

string str1 = "Hello Dotcpp.com";

cout<

string str2(str1);

cout<

string str3(str1,6);

cout<

string str4(str1,6,6);

cout<

string str5(5,'D');

cout<

string str6(str1.begin(),str1.end());

cout<

return 0;

}

4. 比较与连接操作操作

对于比较类型的操作,可以使用 ==,>,=,<=与!=进行比较字符串,对于链接操作而言,可以直接使用符号+进行直接的操作符连接

比较:对于C语言的字符串操作而言,我们通过使用strcmp函数进行比较,通过这个函数的返回值判断两字符串的大小情况,这样的比较方式确实已经满足了很多功能,但是还不如我们常规的思路,C++中利用符号重载的思路重构了比较方法,直接通过str1==str2的以及相关的方式进行比较,这比较符合我们大多数情况的人类思维,如:string str1 = "Hello";

string str2 = "Hello";

if(str1==str2)

cout<

else

cout<

对于字符串的连接操作,对于C语言而言需要使用字符串连接函数,同理,C++使用符号重载直接让我们通过‘+’号完成操作,这也更符合我们的思维,避免了麻烦。string totalystring = "a";

cout<

5.  常用操作(节选)

a) 获取长度length

获取当前字符串的长度,这与C中的strlen(str)一致。str.length();

b)获取大小size

获取当前字符串的大小,某种意义上由于字符串的每一个字符开辟的空间均完全相等,因此size可以代替lengthstr.size();

c) 判断是否为空empty

返回一个布尔类型,判断字符串是否为空empty。str.empty();

d) 填充内容resize

原型为void resize(int len,char chr)把字符串当前大小置为len,多去少补,多出的字符chr填充不足的部分,resize将会修改该字符串的占用空间。string str = "HEllo";

str.resize(8,'K');

cout<

输出

HElloKKK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值