今天就跟大家聊聊有关C++中String类如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
C语言中没有字符串的概念,实际上是字符数组,但是C中有个头文件"string.h",提供了字符数串拼接、拷贝、比较等函数接口。而C++中string是字符串类,在使用时需要包含string头文件,由于string是std命名空间下的类,所以也需要引入std命名空间,下面是示例代码:
#include <string>
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 <iostream>
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 <iostream>
#include <cctype>
int main()
{
std::string str("Hello World!");
for (auto &c : str)
c = toupper(c);
return 0;
}
看完上述内容,你们对C++中String类如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。