用c++编写一个函数求字符串的长度,类似strlen函数
时间: 2024-04-30 22:19:57 浏览: 113
下面是一个简单的C++函数,可以求出给定字符串的长度:
```cpp
#include <iostream>
using namespace std;
int my_strlen(const char* str) {
int len = 0;
while (*str++) {
len++;
}
return len;
}
int main() {
char s[] = "Hello World!";
cout << "字符串长度为:" << my_strlen(s) << endl;
return 0;
}
```
在这个函数中,我们使用了一个指针来遍历整个字符串,每次循环将指针向后移动一位,直到指针指向字符串的结尾处(即 `\0` 字符)。在每次循环中,我们将字符串长度加 1,最终返回字符串的长度即可。
相关问题
用c++不使用strlen()函数,求字符串长度。
在C++中,如果你不想直接使用`strlen()`函数来计算字符串长度,可以使用迭代器遍历字符串,并在一个字符数组结束标志(通常是'\0')处停止。以下是这种方法的一个例子:
```cpp
#include <string>
#include <iostream>
size_t get_string_length(const std::string& str) {
size_t length = 0; // 初始化长度为0
const char* ptr = str.c_str(); // 获取const char指针
while (*ptr != '\0') { // 遍历直到遇到结束符
++length; // 长度加一
++ptr; // 移动到下一个字符
}
return length; // 返回字符串长度
}
int main() {
std::string testStr = "Hello, World!";
size_t len = get_string_length(testStr);
std::cout << "字符串长度: " << len << "\n";
c++定义任意两个字符串,完成以下操作: (1)编写求字符串长度函数,显示该字符串长度; (2)编写字符串拼接函数,将该字符串与键盘输入的另一字符串拼接,并显示拼接结果; (3)编写比较大小函数,比较两字符串
以下是定义任意两个字符串的 C 代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
// 求字符串长度函数
int str_len(char *str) {
int len = 0;
while (*str++) {
len++;
}
return len;
}
// 字符串拼接函数
void str_cat(char *str1, char *str2) {
strcat(str1, str2);
}
// 比较大小函数
int str_cmp(char *str1, char *str2) {
return strcmp(str1, str2);
}
int main() {
char str1[MAX_LEN], str2[MAX_LEN];
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
printf("第一个字符串长度为:%d\n", str_len(str1));
printf("第二个字符串长度为:%d\n", str_len(str2));
str_cat(str1, str2);
printf("拼接后的字符串为:%s\n", str1);
int cmp_res = str_cmp(str1, str2);
if (cmp_res < 0) {
printf("第一个字符串小于第二个字符串\n");
} else if (cmp_res > 0) {
printf("第一个字符串大于第二个字符串\n");
} else {
printf("两个字符串相等\n");
}
return 0;
}
```
注意,在这个代码中,我们使用了 C 语言内置的 `strlen()` 函数来求字符串长度,使用了 `strcat()` 函数来进行字符串拼接,使用了 `strcmp()` 函数来进行字符串比较。同时,我们还自己手动实现了一个求字符串长度的函数 `str_len()`,这个函数的实现方式是遍历字符串并计数。
阅读全文