这两个的形参能不能是字符串类型
时间: 2024-02-25 11:51:27 浏览: 64
如何将字符串传递给函数
在 C++ 中,`strcpy` 和 `strlen` 函数的形参可以是字符串类型,也可以是字符数组类型。字符串类型是 C++ 中的一种特殊的类型,它本质上是一个字符数组,用双引号括起来表示,例如 `"Hello"` 就是一个字符串类型。字符数组类型则是由一组字符组成的数组,用方括号括起来表示,例如 `char str[20]` 就是一个字符数组类型。
下面是使用字符串类型作为 `strcpy` 和 `strlen` 函数的形参的例子:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str1 = "Hello";
string str2 = "World";
char cstr1[20];
char cstr2[20];
strcpy(cstr1, str1.c_str());
strcpy(cstr2, str2.c_str());
strcat(cstr1, cstr2);
cout << "cstr1: " << cstr1 << endl;
cout << "cstr2: " << cstr2 << endl;
int len1 = strlen(cstr1);
int len2 = strlen(cstr2);
cout << "Length of cstr1 = " << len1 << endl;
cout << "Length of cstr2 = " << len2 << endl;
return 0;
}
```
运行结果为:
```
cstr1: HelloWorld
cstr2: World
Length of cstr1 = 10
Length of cstr2 = 5
```
这里使用了 C++ 中的 `string` 类型来表示字符串,`c_str()` 函数可以将 `string` 类型转换成 C 风格的字符串(即以字符数组的形式表示)。其他部分与前面的例子基本相同。
阅读全文