c++字符串length
时间: 2023-12-29 15:02:18 浏览: 63
在C++中,可以使用字符串类的`length()`函数来获取字符串的长度。例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
int len = str.length();
cout << "The length of the string is: " << len << endl;
return 0;
}
```
输出结果为:
```
The length of the string is: 13
```
相关问题
c++字符串数组按字符串长度排序
在C++中,可以使用`std::sort`算法对字符串数组按字符串长度进行排序。首先,你需要准备一个辅助函数来比较两个字符串的长度,然后将这个比较函数作为`std::sort`的第一个参数。假设有一个字符串数组`strArray`,示例如下:
```cpp
#include <algorithm>
#include <string>
bool compareByLength(const std::string& a, const std::string& b) {
return a.length() < b.length();
}
void sortStringsByLength(std::string strArray[], int size) {
std::sort(strArray, strArray + size, compareByLength);
}
// 示例
int main() {
std::string strArray[] = {"short", "longest", "medium", "very short"};
int arrSize = sizeof(strArray) / sizeof(strArray[0]);
sortStringsByLength(strArray, arrSize);
// 输出排序后的数组
for (int i = 0; i < arrSize; ++i) {
std::cout << strArray[i] << " ";
}
return 0;
}
```
这段代码会输出按字符串长度升序排列的数组。
C++ 字符串相减
在 C++ 中,字符串之间不能直接相减。但是,可以通过使用库函数来实现字符串相减的效果。
例如,可以使用 `std::string` 类型的 `erase()` 函数和 `find()` 函数来实现删除子字符串的效果。具体步骤如下:
1. 将字符串 A 和字符串 B 转换成 `std::string` 类型。
2. 在字符串 A 中查找字符串 B 的起始位置,可以使用 `find()` 函数。
3. 如果找到了字符串 B,则可以使用 `erase()` 函数从字符串 A 中删除字符串 B。
下面是一个简单的示例代码:
```c++
#include <iostream>
#include <string>
int main()
{
std::string str1 = "hello world";
std::string str2 = "world";
size_t pos = str1.find(str2);
if (pos != std::string::npos) {
str1.erase(pos, str2.length());
}
std::cout << str1 << std::endl;
return 0;
}
```
该代码将输出 `hello `,因为它从字符串 "hello world" 中删除了子字符串 "world"。
阅读全文