问题描述
- C++中通常使用string类型来操作字符串,如果想使用C语言中本来常用的字符指针char* 来操作字符串的话,应该怎么使用呢?
以某个题目为例
- 编写函数getlen计算字符串的长度,形参使用指针,函数返回值是字符串的长度。
实现代码
# include<iostream>
using namespace std;
int getlen(char* str)
{
int num = 0;
while (*str != '\0')
{
num += 1;
str++;
}
return num;
}
int main()
{
string s;
char* p;
p = &s[0];
cin >> p;
int num = getlen(p);
cout << num << endl;
return 0;
}
- 仅简易实现,并未考虑空格情况
问题解决代码
string s;
char* p;
p = &s[0];
总结
- string只是C++中对于字符串封装好的类,其底层实现也是基于char[ ]字符数组。