字符串长度c++自定义函数
时间: 2023-11-30 17:42:12 浏览: 107
在C++中,可以使用以下代码定义一个自定义函数来获取字符串的长度:
int strLength(string str) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
上述代码中,strLength
是自定义函数的名称,string str
是函数的参数列表,表示传入一个字符串类型的参数。函数体中使用了一个while
循环来遍历字符串中的每个字符,直到遇到字符串的结束符\0
为止,每遍历一个字符,就将长度len
加1。最后返回len
即可得到字符串的长度。
相关问题
devc++中,对于顺序表示的字符串,用scanf函数输入一串任意字符串并使用自定义函数求出该字符串的长度的完整代码
在Dev-C++中,你可以使用stdio.h
库中的scanf
函数读取用户输入的字符串,然后通过遍历字符串的方式来计算其长度。这里有一个简单的示例代码:
#include <iostream>
#include <cstring> // 包含strlen() 函数
// 自定义函数计算字符串长度
size_t getLength(const char* str) {
size_t length = 0;
while (str[length] != '\0') { // '\0'是字符串结束符
length++;
}
return length;
}
int main() {
char input[100]; // 用于存储输入字符串,假设最大长度不超过99
printf("请输入一个字符串:");
// 使用scanf读取字符串
if (scanf("%s", input) == 1) { // 如果成功读入一个字符串,scanf返回1
// 清除潜在的换行符
input[strcspn(input, "\n")] = '\0';
// 计算并输出字符串长度
size_t length = getLength(input);
std::cout << "输入字符串的长度是:" << length << std::endl;
// 别忘了关闭输入流
scanf("\n"); // 消耗掉可能存在的换行符
} else {
std::cerr << "无法读取字符串!" << std::endl;
}
return 0;
}
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[]
释放动态分配的内存。
相关推荐
















