C风格的字符串
本身是一个字符数组,'\0’是结束标志
输入:scanf
输出:printf
C++风格的字符串
#include<string>
using namespace std;
string var=str;//str可以是一个字符数组
演示
#include<string>
#include<cstdio>
using namespace std;
int main() {
char buf[100];//申请一个字符数组
//scanf_s("%s", buf,sizeof(buf));//只能读取一个单词
fgets(buf, 100,stdin);//读取一整行,包含换行符
string str = buf;//用一个字符数组组成一个c++风格的字符串
printf("str=%s\n", str.c_str());//将C++风格的字符串转换成字符数组
}
- 求长度:str.length()
- 访问字符串种的每个字符:
1、str[i]
2、迭代器
for(string::iteraror it=str.begin();it!=str.end();it++){
//++it更改迭代器的指向,到下一个元素
printf("%c\n",*it);//通过地址访问
}
操作字符串的内容
- 连接 +(只针对C++风格字符串)
- 删除 erase str.erase(i)删除i之后的
- 清空 clear str.clear()
string的find方法str.find(*)
查找字符或字串
find的返回值:
1、如果找到了,匹配内容的起点的下标
2、如果没有找到,返回string::npos