C++ 字符串完全指南:学习基础知识到掌握高级应用技巧

C++ 字符串

字符串用于存储文本。

一个字符串变量包含由双引号括起来的一组字符:

示例

创建一个 string 类型的变量并为其赋值:

1string greeting = "Hello";

C++ 字符串连接

字符串连接可以使用 + 运算符来实现,生成一个新的字符串。

示例:

1string firstName = "John "; 2string lastName = "Doe"; 3string fullName = firstName + lastName; 4cout << fullName;

在上面的示例中,我们在 firstName 后面添加了一个空格,以便在输出时在 "John" 和 "Doe" 之间生成一个空格。然而,你也可以用引号(" "' ') 来添加一个空格:

示例:

1string firstName = "John"; 2string lastName = "Doe"; 3string fullName = firstName + " " + lastName; 4cout << fullName;

追加:

在 C++ 中,字符串实际上是一个对象,其中包含可以对字符串执行某些操作的函数。例如,你也可以使用 append() 函数连接字符串:

示例:

1string firstName = "John "; 2string lastName = "Doe"; 3string fullName = firstName.append(lastName); 4cout << fullName;

C++ 数字和字符串

将数字和字符串相加

C++ 使用 + 运算符既用于加法又用于连接。

  • 数字相加。字符串连接。

如果你将两个数字相加,结果将是一个数字:

示例:

1int x = 10; 2int y = 20; 3int z = x + y; // z 将是 30(一个整数)

如果你将两个字符串相加,结果将是字符串连接:

示例:

1string x = "10"; 2string y = "20"; 3string z = x + y; // z 将是 1020(一个字符串)

如果你尝试将一个数字添加到一个字符串中,将会出现错误:

示例:

1string x = "10"; 2int y = 20; 3string z = x + y;

C++ 字符串长度

要获取字符串的长度,可以使用 length() 函数:

示例

1string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 2cout << "txt 字符串的长度为: " << txt.length();

提示:你可能会看到一些 C++ 程序使用 size() 函数来获取字符串的长度。这只是 length() 的别名。完全取决于你是要使用 length() 还是 size():

示例

1string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 2cout << "txt 字符串的长度为: " << txt.size();

C++ 访问字符串

你可以通过在方括号 [] 内引用其索引号来访问字符串中的字符。

以下示例打印 myString 中的第一个字符:

示例

1string myString = "Hello"; 2cout << myString[0]; 3// 输出 H

注意:字符串的索引从 0 开始:[0] 是第一个字符,[1] 是第二个字符,以此类推。

以下示例打印 myString 中的第二个字符:

示例

1string myString = "Hello"; 2cout << myString[1]; 3// 输出 e

更改字符串字符

要更改字符串中特定字符的值,请引用索引号,并使用单引号:

示例

1string myString = "Hello"; 2myString[0] = 'J'; 3cout << myString; 4// 输出 Jello 而不是 Hello

C++ 特殊字符

因为字符串必须用引号括起来,C++会误解这个字符串,并生成一个错误:

1string txt = "We are the so-called "Vikings" from the north.";

避免这个问题的解决方案是使用反斜杠转义字符。

反斜杠 () 转义字符将特殊字符转换为字符串字符:

转义字符 结果 描述 ' ' 单引号 " " 双引号 \ \ 反斜杠 序列 " 在字符串中插入双引号:

1string txt = "We are the so-called \"Vikings\" from the north.";

序列 ' 在字符串中插入单引号:

1string txt = "It\'s alright.";

序列 \ 在字符串中插入单个反斜杠:

1string txt = "The character \\ is called backslash.";

C++ 用户输入字符串

可以使用提取运算符 >> 在 cin 上存储用户输入的字符串:

1string firstName; 2cout << "Type your first name: "; 3cin >> firstName; // 从键盘获取用户输入 4cout << "Your name is: " << firstName; 5 6// 输入你的名字: John 7// 你的名字是: John

然而,cin 将空格(空白、制表符等)视为终止字符,这意味着它只能存储一个单词(即使你输入多个单词):

1string fullName; 2cout << "Type your full name: "; 3cin >> fullName; 4cout << "Your name is: " << fullName; 5 6// 输入你的全名: John Doe 7// 你的名字是: John

从上面的示例中,你会期望程序打印出 "John Doe",但它只打印出 "John"。

这就是为什么在处理字符串时,我们经常使用 getline() 函数来读取一行文本。它以 cin 作为第一个参数,字符串变量作为第二个参数:

1string fullName; 2cout << "Type your full name: "; 3getline(cin, fullName); 4cout << "Your name is: " << fullName; 5 6// 输入你的全名: John Doe 7// 你的名字是: John Doe

C++ 字符串命名空间

你可能会看到一些 C++ 程序在没有标准命名空间库的情况下运行。可以省略 using namespace std 这一行,并将其替换为 std 关键字,后面跟着 :: 运算符用于 string(和 cout)对象:

例子

1#include <iostream> 2#include <string> 3 4int main() { 5 std::string greeting = "Hello"; 6 std::cout << greeting; 7 return 0; 8}

你可以选择是否包含标准命名空间库。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

Go语言字符串和数值转换

一.字符串概述字符串是一段不可变的字符序列.内容是任意内容,可以是一段文字也可以是一串数字,但是字符串类型数字不能进行数学运算,必须转换成整型或浮点型字符串类型关键字:string创建字符串类型变量govarsstring"hello,world"s1:"hello,world"字符串类型的值使用双引号""扩上

C++中stoi函数

作用:  将n进制的字符串转化为十进制头文件:include<string用法:1stoi(字符串,起始位置,n进制),将n进制的字符串转化为十进制23示例:4stoi(str,0,2);//将字符串str从0位置开始到末尾的2

mysql用户

1\.学会能按着需求创建一个帐号2\.知道连接字符串是什么样3\.密码密码怎么恢复mysql用户权限介绍mysql用户管理 !(https://oscimg.oschina.net/oscnet/368d3c1e00a0a9515545c2962660a27a080.png)!(https://oscimg.oschin

JavaScript常用函数

1\.字符串长度截取functioncutstr(str,len){vartemp,icount0,patrn/^\x00\xff/,strre"";for(vari

Java基础之字符串

5.1字符字符指的用单引号括起来的单个字母。java中,char表示字符的数据类型。一个字符在内存中占16位大小的空间(2个字节)。5.2字符串字符串或串是由零个或多个字符组成的有限序列,它是编程语言表示文本的数据类型。串的两个最基本的存储方式是顺序存储方式和链接存储方式5.2.1字符串声明与赋值String是字符串变量的类型

10条PHP编程习惯助你找工作

http://blog.csdn.net/yihan1029/article/details/417664131、使用单引号括起来的字符串当使用双引号来括字符串时,PHP(https://www.oschina.net/p/php)解释器会对其进行变量替换、转义等操作,如“\\n”。如果只想输出一个基本的字符串,用单引号会节

C++ 字符串完全指南:学习基础知识到掌握高级应用技巧 - HelloWorld