C++字符串
本文最后更新于 2024-11-28,文章内容可能已经过时。
C++ 中的字符串处理是一个非常重要的主题,它提供了多种方式来处理文本数据。在 C++ 中,有两种主要的方式来表示字符串:C 风格字符串和 std::string
类型。
std::string
类。要使用 std::string
,首先需要包含 <string>
头文件。
一、创建字符串
1、使用字面量初始化
std::string s1 = "Hello, VC++!";
2、构造函数初始化
std::string s2(10, 'C'); // 创建一个包含10个'C'的字符串
3、常用方法
- 获取长度:
size()
或length()
- 访问元素:
operator[]
或at()
(后者会进行边界检查) - 连接字符串:
+
运算符或append()
- 比较字符串:
==
,!=
,<
,>
,<=
,>=
- 查找子串:
find()
- 替换内容:
replace()
- 插入内容:
insert()
- 删除内容:
erase()
#include <iostream>
#include <string>
int main() {
std::string greeting = "Hello, ";
std::string name = "vc++!";
// 连接字符串
std::string message = greeting + name;
message += "!"; // 使用 += 添加更多内容
// 输出整个字符串
std::cout << message << std::endl;
// 访问特定位置的字符
char firstChar = message[0];
std::cout << "First character: " << firstChar << std::endl;
// 查找子串的位置
size_t pos = message.find("vc");
if (pos != std::string::npos) {
std::cout << "Found 'vc' at position: " << pos << std::endl;
}
return 0;
}
Hello, vc++!!
First character: H
Found 'vc' at position: 7
二、转义字符
作用:用来表示一些不能显示出来的ASCII字符
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
\a | 警报 | 007 |
\b | 退格(BS),将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF),将当前位置移到下一行开头 | 010 |
\r | 回车(CR),将当前位置移到本行开头 | 013 |
\t | 水平制表(HT)(跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符"\" | 092 |
' | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
? | 代表一个问号 | 063 |
\0 | 空字符(Null character) | 000 |
\ddd | 8进制转义字符,d范围0~7 | 3位8进制 |
\xhh | 16进制转义字符,h范围0~9,a~f,A~F | 3位16进制 |
int main() {
cout << "\\" << endl;
cout << "\tHello" << endl;
cout << "\n" << endl;
return 0;
}
\
Hello
三、字符串型
作用:用于表示一串字符
-
C风格字符串。C 风格字符串实际上是字符数组,以空字符
\0
结尾。这种类型的字符串直接继承自 C 语言,并且在 C++ 中依然可用。使用 C 风格字符串时需要注意手动管理内存以及确保字符串是以\0
结束的。int main() { char str[] = "hello C++"; printf("%s\n", str); return 0; }
-
C++风格字符串(需要加入头文件
#include<string>
)。std::string
是 C++ 标准库中提供的一个类,用于更方便地操作字符串。这个类封装了许多常用的字符串操作函数,如查找、替换、追加等,并自动管理内存分配,使得开发者可以更加专注于逻辑实现而不是内存管理。#include <iostream> #include <string> using namespace std; int main() { string str = "hello c++!"; cout << str << endl; return 0; }
四、数据的输入
作用:用于从键盘获取数据
#include <iostream>
#include <string>
using namespace std;
int main() {
//字符串型输入
string str;
cout << "请输入字符串型变量:" << endl;
cin >> str;
cout << str << endl;
return 0;
}
总结
对于现代 C++ 编程来说,推荐使用 std::string 类来进行字符串处理,因为它提供了更高级的功能和更好的安全性。然而,在某些情况下,比如与 C 库函数接口交互时,可能仍然需要用到 C 风格字符串。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果