千家信息网

C++中String类如何使用

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,今天就跟大家聊聊有关C++中String类如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、C++中的string不同于C中的stri
千家信息网最后更新 2025年02月13日C++中String类如何使用

今天就跟大家聊聊有关C++中String类如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1、C++中的string不同于C中的string

C语言中没有字符串的概念,实际上是字符数组,但是C中有个头文件"string.h",提供了字符数串拼接、拷贝、比较等函数接口。而C++中string是字符串类,在使用时需要包含string头文件,由于string是std命名空间下的类,所以也需要引入std命名空间,下面是示例代码:

#include 
using std::string;

2、C++中string对象的定义与初始化

C++中string类提供了多种方式初始化一个字符串对象:

string str1;    //默认的初始化,str1是一个空字符串
string str2(str1); //使用拷贝构造函数利用已知字符串初始化
string str21 = str1;
string str2 = ("Hello World!");
string str3("HelloWorld");

3、C++ string 对象的操作符(以字符串s为例)

os << s                    //将s写到输出流os中
is >> s //将输入流写到s中
getline(is, s) //从is中读取一行到s中
s.empty() //判断字符串s是否空
s.size() //获取字符串s的大小
s1 == s2 //比较字符串s1是否等于字符串s2
s1 + s2 //将字符串s1和s2拼接成一个新额字符串

从命令行读取输入,存到字符串:

#include 
int main()
{
std::string line;
while (getline(cin, line))
if (line.size() > 1024)
cout << line << endl;
return 0;
}

4、C++ string 中字符的处理方法

C++中string是一个类,能够创建字符串对象,而字符串是由一个个字符组成,那么有没有操作字符的方式呢?

当然有!我们可以判断字符串中是否有空格,也可以改变字符串中字符的大小写等。

这些操作都定义在头文件"cctype"中

下面简单罗列几个cctype中定义的一些string中操作字符串的方法:

isalnum(c)  //判断字符c是否是字母或数字
isalpha(c) //判断字符c是否是一个字母
iscntrl(c) //判断c是否是一个控制字符
isdigit(c) //判断c是否是一个数字
isspace(c) //判断c是否是一个空格 等价于 c == '

注意这里的"cctype"就是C++中使用C标准的头文件的写法,等价于"ctype.h"

除此之外,我们也可以使用范围for对字符串中的字符进行遍历。

比如:

//遍历字符串,将所有字符转为大写字母
#include
#include

int main()
{
std::string str("Hello World!");
for (auto &c : str)
c = toupper(c);
return 0;
}

看完上述内容,你们对C++中String类如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0