c++获取数组和字符串长度
时间: 2024-05-02 16:17:52 浏览: 94
获取数组长度:
可以使用 `sizeof` 操作符来获取数组的长度,如:
```
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
```
其中,`sizeof(arr)` 表示整个数组的字节数,`sizeof(arr[0])` 表示数组中每个元素的字节数,因此 `sizeof(arr) / sizeof(arr[0])` 就是数组的长度。
获取字符串长度:
可以使用 `strlen` 函数来获取字符串的长度,如:
```
char str[] = "hello world";
int len = strlen(str);
```
其中,`strlen` 函数返回的是字符串中实际字符的数量,不包括字符串末尾的空字符 `\0`。
相关问题
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++数组转换为字符串的方法有很多种,下面给出一种简单的方法:
假设有一个int类型的数组arr,长度为n,要将它转换为字符串str。
可以使用stringstream来实现,具体步骤如下:
1. 引入头文件 #include <sstream>。
2. 创建一个stringstream对象ss,用来存储转换后的字符串。
3. 使用for循环遍历数组,将每个元素插入到stringstream对象中。
4. 最后通过stringstream对象的str()方法获取转换后的字符串。
示例代码如下:
```c++
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
stringstream ss;
for (int i = 0; i < n; i++) {
ss << arr[i];
}
string str = ss.str();
cout << str << endl;
return 0;
}
```
输出结果为:12345。
阅读全文