C++标准库类型——string

除了基本的数据类型(int double 。。。),C++还定义了一个内容丰富的抽象数据类型的标准库。其中最重要的标准库类型是stringvector,它们分别定义了大小可变的字符串和集合。stringvector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素。这一篇介绍一下string,下一篇再介绍vector 

标准库string类型

string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。

与其他的标准库类型一样,用户程序要使用string类型对象,必须包含相关的头文件。

#include<string>

using std::string;  

string对象的操作

s.empty()  如果s为空串,则返回true,否则 返回false

s.size()   返回s中字符的个数

s[n]    返回s中位置为n的字符,位置从0开始计数

s1+s2    将s1s2连接成一个新的字符串,返回新生成的字符串

v1 == v2   比较v1v2中的内容是否相等

!=,<,<=,>,>=   保持这些操作符惯有的含义

 

实例: 

// stringtest.cpp : 定义控制台应用程序的入口点 
#include "stdafx.h"
#include <Windows.h>
#include <string>
using std::string;
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string s0;//默认构造函数 s0为空串
cout<<"0:"<<s0<<endl;
cout<<"1:"<<s0.empty()<<endl;//s.empty() 
string s00(s0);//将s00初始化为s0的一个副本
cout<<"2:"<<s00<<endl;
string s1("shufac");//将s1初始化为一个字符串(shufac)字面值副本
cout<<"3:"<<s1<<endl;
cout<<"4:"<<s1.size()<<endl;//s.size() 返回值为unsigned
string s2(s1);//将s2初始化为s1的一个副本
cout<<"5:"<<s2<<endl;
int n=4;
string s3(n,'c');//将s3初始化为字符‘c’的4个副本
cout<<"6:"<<s3<<endl;
string s4(6,'c');//将s3初始化为字符‘c’的4个副本
cout<<"7:"<<s4<<endl;
cout<<"8:"<<s1+s4<<endl;//字符串拼接
cout<<"9:"<<s1[3]<<endl;//s[n] 'f'
string s5="Hello!";//对象赋值
cout<<"10:"<<s5<<endl;
string s6="Hello World!";//对象赋值
cout<<"11:"<<s6<<endl;
string s7=s5+",,,"+s6+"\n";//两个string 对象相加
cout<<"12:"<<s7<<endl;
//从string对象获取字符
string str("some string");
for (string::size_type ix=0;ix !=str.size();++ix)
{
int x=12+ix;
cout<<x<<":"<<str[ix]<<endl;
}
 
//string 对象的操作
/* 
s.empty()  如果s为空串,则返回true,否则 返回false
s.size()   返回s中字符的个数
s[n]	   返回s中位置为n的字符,位置从0开始计数
s1+s2	   将s1和s2连接成一个新的字符串,返回新生成的字符串
v1 == v2   比较v1和v2中的内容是否相等
!=,<,<=,>,>=   保持这些操作符惯有的含义
*/
system("pause");
return 0;
}

运行结果:

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C++的string是用来处理字符串的标准。它提供了一系列的方法和函数来方便地操作字符串。在引用\[1\]中的代码中,展示了一个自定义的string类的实现,包括构造函数、拷贝构造函数、赋值运算符重载和析构函数。这个自定义的string类与C++标准中的string类功能相似。 在引用\[2\]中的代码中,展示了使用C++标准中的string类的一些示例。可以通过构造函数来创建一个空的string对象,也可以使用C格式的字符串来构造string对象。还可以使用重复字符来构造string对象。另外,可以通过拷贝构造函数来创建一个与已有的string对象相同的新对象。 C++的string还提供了一些容量方法,可以用来获取字符串的长度、容量等信息。这些方法可以帮助我们更好地管理和操作字符串。 在引用\[3\]中的代码中,展示了一些其他的string类的方法。例如,可以使用c_str()方法将string对象转化为C语言的字符类型。还可以使用substr()方法从一个string对象中提取子字符串。 总之,C++的string提供了丰富的功能和方法,可以方便地处理字符串。无论是自定义的string类还是C++标准中的string类,都可以用来进行字符串的操作和处理。 #### 引用[.reference_title] - *1* *2* [C++STLString介绍](https://blog.csdn.net/weixin_43654363/article/details/125793955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++函数——string类](https://blog.csdn.net/qq_73201597/article/details/130774650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法哥2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值