字符串长度c++自定义函数
时间: 2023-11-30 20:42:12 浏览: 98
在C++中,可以使用以下代码定义一个自定义函数来获取字符串的长度:
```c++
int strLength(string str) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
上述代码中,`strLength`是自定义函数的名称,`string str`是函数的参数列表,表示传入一个字符串类型的参数。函数体中使用了一个`while`循环来遍历字符串中的每个字符,直到遇到字符串的结束符`\0`为止,每遍历一个字符,就将长度`len`加1。最后返回`len`即可得到字符串的长度。
相关问题
c++自定义函数实现字符串链接
可以使用以下方式实现字符串链接的函数:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* str_concat(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char* result = new char[len1 + len2 + 1];
strcpy(result, str1);
strcat(result, str2);
return result;
}
int main() {
const char* str1 = "Hello";
const char* str2 = "World!";
char* result = str_concat(str1, str2);
cout << result << endl;
delete[] result;
return 0;
}
```
在函数 `str_concat` 中,首先使用 `strlen` 函数获取两个字符串的长度,然后使用 `new` 运算符动态分配内存,分配的大小为两个字符串长度之和再加上一位用于存放字符串结束符 `\0`。接着使用 `strcpy` 函数将第一个字符串复制到结果字符串中,最后使用 `strcat` 函数将第二个字符串链接到结果字符串中。最后返回结果字符串的指针。
在 `main` 函数中,分别定义两个字符串 `str1` 和 `str2`,然后调用 `str_concat` 函数将两个字符串链接起来,最后输出结果字符串。注意,在使用完结果字符串后,需要使用 `delete[]` 运算符释放动态分配的内存。
c++自定义函数实现字符串连接
我们可以用字符数组或指针来实现字符串连接,下面是一个示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* strConcat(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char* result = new char[len1 + len2 + 1];
int i = 0, j = 0;
while (str1[i] != '\0') {
result[i] = str1[i];
i++;
}
while (str2[j] != '\0') {
result[i+j] = str2[j];
j++;
}
result[i+j] = '\0';
return result;
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
char* result = strConcat(str1, str2);
cout << result << endl;
delete[] result;
return 0;
}
```
在这个示例代码中,我们定义了一个 `strConcat` 函数,它接收两个字符数组作为参数,返回一个拼接后的新的字符数组。
首先,我们使用 `strlen` 函数计算出两个输入字符串的长度,然后根据它们的总长度分配一个新的字符数组。注意,我们需要额外的一个字符来存储拼接后的字符串的结尾符 `\0`。
接下来,我们使用两个循环来将输入字符串中的字符复制到新的字符数组中。最后,我们在新字符串的结尾处添加上 `\0` 结尾符,并将其返回。
在主函数中,我们调用 `strConcat` 函数来拼接两个字符串,并打印出结果。最后,我们使用 `delete[]` 释放动态分配的内存。
阅读全文