iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中的string类型
  • 339
分享到

C++中的string类型

2024-04-02 19:04:59 339人浏览 八月长安
摘要

目录1、string类1.1和char*的异同1.2c++11初始化1.3拼接1.4长度1.5io1.6原始字符串1、string 类 1.1 和char *的异同 在C++当中,除

1、string 类

1.1 和char *的异同

C++当中,除了char *类型,还有专门的字符串类型,就叫做string

通过包含头文件string就可以使用:


include<string>


在很多方面,string类型的使用方法和char *一样,例如:


string str1;
string str2 = "hello world"; // 初始化和char *一致

cout << str2 << endl; // cout和char *一致
cout << str[2] << endl; // 元素访问和char *一致


除此之外,它还有一个更大的好处,就是当我们从外界读入字符串的时候,再也不用操心读入的字符串超界的问题了。因为string类设计可以让程序自动处理字符串的大小。


string str1;
cin >> str1;

1.2 C++11初始化

我们也可以使用C++11的列表初始化特性在string上,不过其实没必要,直接使用等于号赋值更方便一些:


string str1 = {"hello world"};
string str2 {"test"};

1.3 拼接

在使用char *的时候,如果我们要拼接两个字符串,需要调用函数strcat来实现。而有了string,我们可以直接使用加号来拼接两个字符串:


string str1 = "hello";
string str2 = "world";

string str3 = str1 + str2;


不仅如此,还可以使用+=,表示把另外一个字符串添加在自己末尾:


str1 += str2; // 等价于str1 = str1 + str2

1.4 长度

对于char *的字符串,我们要求长度,需要使用strlen函数。而string类型的字符串,我们可以直接调用.size()函数:


string str = "hello";

cout << str.size() << endl; // output 5

1.5 IO

前文说了,string类的cincout用法都和char *完全一致,不过在读取一行的时候有些区别。


char st[100];
cin.getline(st, 100);

string str;
getline(cin, str);

对于char *来说,我们调用的cin.getline表示的是cin中的一个方法。而后者,我们调用的getline传入了cin,这里的cin是一个传入的参数,并且也没有指定长度,因为string会自动设定长度。

1.6 原始字符串

关于string类型,C++11有一个原始字符串的新特性。

在字符串表示当中,当我们要添加一些特殊字符的时候,往往需要在前面加上反斜杠,表示取义。

当这类字符多了之后,就会很麻烦:


cout << "i want to output \"hello world\"" << endl;

如果我们要换行,还要在其中加入\n。针对这个问题C++11提出了原始字符串,也就是说在原始字符串当中所有的符号都会被原本原样地输出,不需要再使用\来取义了。

原始字符串以"R(开头)"结尾,`比如刚才的内容就可以写成:


cout << R"(i want to output "hello world")" << endl;

不仅如此,我们还可以随意换行:


cout << R"(i want to output 
"hello world")" << endl;

但是有一个小问题,假如我们想要输出的结果当中也包含"(该怎么办呢?也有办法,编译器允许我们在"和(之间加入任意的字符来做区分(空格、左括号、右括号、斜杠、控制字符除外),这样我们在结尾的时候,也需要加上同样的字符。例如:


cout << R"tst("(test)")tst" << endl;

运行之后,屏幕上会输出"(test)"的结果。

到此这篇关于C++中的string类型的文章就介绍到这了,更多相关C++ string类型内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

注:文章转自微信公众号:Coder梁(ID:Coder_LT)

--结束END--

本文标题: C++中的string类型

本文链接: https://www.lsjlt.com/news/156310.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中的string类型
    目录1、string类1.1和char*的异同1.2C++11初始化1.3拼接1.4长度1.5IO1.6原始字符串1、string 类 1.1 和char *的异同 在C++当中,除...
    99+
    2022-11-12
  • C++中String类型的逆序方式
    目录C++String类型的逆序这里使用反向迭代器实现用String方法逆序输出字符串数组方法C++String类型的逆序 这里使用反向迭代器实现 #include<iostr...
    99+
    2022-11-13
  • 怎么使用C++中的string类型
    这篇文章主要讲解了“怎么使用C++中的string类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C++中的string类型”吧!1、string 类1.1 和char *的异同在...
    99+
    2023-06-25
  • C#中数据类型string怎么用
    这篇文章主要为大家展示了“C#中数据类型string怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中数据类型string怎么用”这篇文章吧。string是各种编程语言中最基础的数据类型...
    99+
    2023-06-17
  • C语言String类型小结
    C语言中没有内置的String类型,而是使用字符数组来表示字符串。字符数组是一种特殊的数组,其中的元素都是字符。C语言中的字符串以n...
    99+
    2023-09-13
    C语言
  • c#中String类型的存储原理详解
    在我们正式了解c#中的String类型前,先来判断一下下面代码的结果吧~ String str1 = "123"; String str2 = str1; str2 = "321";...
    99+
    2022-11-13
  • c++怎么将string类型转换成int类型
    要将string类型转换为int类型,你可以使用C++的内置函数stoi()或者stringstream类来实现。 使用stoi(...
    99+
    2023-10-27
    c++
  • c#中String类型的存储原理是什么
    这篇文章主要介绍了c#中String类型的存储原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇c#中String类型的存储原理是什么文章都会有所收获,下面我们一起来看看吧。在我们正式了解c#中的Stri...
    99+
    2023-06-29
  • c语言如何输入string类型
    在C语言中,可以使用char数组来表示字符串。可以使用scanf函数来输入字符串。```c#include int main() {...
    99+
    2023-09-12
    c语言
  • c语言string类型如何定义
    在C语言中,可以使用字符数组来表示字符串,并通过数组的最后一个元素设置为'\0'来表示字符串的结束。可以使用以下两种方式定义字符串:...
    99+
    2023-10-28
    c语言
  • java中byte[]类型如何转换为String类型
    在 Java 中将 byte[] 类型转换为 String 类型,可以使用 String 的构造函数或者静态方法。 使用 String 构造函数 byte[] byteArray = {97, 98, 99}; String str = n...
    99+
    2023-09-08
    java servlet 开发语言
  • 变量类型-String
    教程:一:字符串的创建    用单引号、双引号括起来,同时用转义字符转义二:字符串的索引    变量[头标:尾标]    从前到后:0---end    从后到前:-1---->-len(str)三:获取字符串的索引序号    st...
    99+
    2023-01-30
    变量 类型 String
  • C++ 中的类型详细
    目录一、初始化与赋值二、 类型概述三、类型分类1、数值类型2、void类型四、字面值及其类型五、变量及其类型六、复合类型1、指针:一种间接类型;2、引用七、常量类型八、类型别名九、类...
    99+
    2022-11-12
  • Golang 实现interface类型转string类型
    看代码吧~ // Strval 获取变量的字符串值 // 浮点型 3.0将会转换成字符串3, "3" // 非数值或字符类型的变量将会被转换成JSON格式字符串 func Str...
    99+
    2022-11-12
  • java中string是什么类型
    (1)首先给出数据类型的分类 (推荐学习:java课程)(2)Java数据类型在内存中的存储:1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是...
    99+
    2018-05-20
    java入门 java
  • Typescript中string类型怎么用
    这篇文章给大家分享的是有关Typescript中string类型怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。string字符串类型,和javascript一样,可以使用双...
    99+
    2022-10-19
  • JavaScript中String类型的示例分析
    这篇文章将为大家详细讲解有关JavaScript中String类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。String字符串转义符:转义序列字符\b退格\...
    99+
    2022-10-19
  • C#中值类型和引用类型的区别
    一、值类型和引用类型的区别 .NET的类型可以分为两类:值类型和引用类型。这两种类型各有特点,即使它们都继承自System.Object,并且有装箱和拆箱等操作确保两种类型可以方便地...
    99+
    2022-11-13
  • C#中的预定义类型与引用类型
    一、预定义的值类型 一个字节(1Byte)=8位(8Bit) BitArarry类可以管理位Bit。 1、整型 所有的整形变量都能用十进制或十六进制表示:long a=0x...
    99+
    2022-11-13
  • mysql json类型--java List<String>类型匹配
    一、String数组 mysql 字段类型为json java实体类字段类型为List @ApiModelProperty(value = "后缀") @TableField(value = "postfix", typeHand...
    99+
    2023-09-03
    java mysql 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作