📜  字符串 c++ (1)

📅  最后修改于: 2023-12-03 15:25:02.642000             🧑  作者: Mango

字符串 C++

什么是字符串?

字符串是由一系列字符组成的序列,通常使用来表示文本。

在 C++ 中,字符串是一个对象,称为 std::string,它在头文件 #include <string> 中定义。 std::string 对象有一个相关的字符串长度属性,可以使用对象的 size() 成员函数来获取。

字符串的基本操作
创建字符串对象

使用字符串字面量(double quotes)可以创建一个已知字符串:

std::string str = "hello";

也可以使用 std::string 对象的构造函数创建新的字符串:

std::string str("world");
读取字符串

使用 std::cin 读取字符串可以使用 std::getline() 函数,它可以读取一行字符串,包括空格,制表符和其他特殊字符。使用输入操作符 >> 将无法读取空格。

std::string str;
std::cout << "Enter a string: ";
std::getline(std::cin, str);
std::cout << "You entered: " << str << std::endl;
操作字符串

可以使用 + 运算符将两个字符串连接起来。也可以使用 += 运算符将一个字符串添加到另一个字符串的末尾。

std::string str1 = "hello";
std::string str2 = "world";
std::string str3 = str1 + " " + str2;
std::cout << str3 << std::endl;
str1 += str2;
std::cout << str1 << std::endl;

要获取字符串的子串,可以使用 substr() 成员函数。

std::string str = "hello, world";
std::string sub = str.substr(0, 5); // "hello"

要在字符串中查找子字符串,可以使用 find() 成员函数。

std::string str = "hello, world";
std::size_t pos = str.find("world");
if (pos != std::string::npos) {
    std::cout << "found at position " << pos << std::endl;
} else {
    std::cout << "not found" << std::endl;
}
字符串转换

使用 std::stoi() 函数可以将字符串转换为整数。使用 std::stod() 函数可以将字符串转换为双精度浮点数。使用 std::to_string() 函数可以将整数、浮点数等类型转换为字符串。

std::string str = "12345";
int x = std::stoi(str);
double y = std::stod("3.14159");
std::string z = std::to_string(x + y);
总结

字符串是 C++ 中常见的一种数据类型,它可以表示文本,并且可以进行各种操作。通过了解字符串的基本操作,我们可以更有效地使用它们来解决我们的问题。