C++头文件
#include<string>
输入的几种方式
string str1;
char ch;
cin>>str1; //只能处理不带空格的一行输入
getline(cin, str1); //可以读入带有空格的用户输入
ch = cin.get(); //或cin.get(ch); //只能获取一个字符
cin.get(); //用于吃掉回车,相当于getchar()
cin.getline(str1, 5, 'a')//cin.getline()有三个参数,cin.getline(接受字符串到m,接受个数5,结束字符)
gets(); //接受一个字符串,可以接收空格并输出,需包含#include<string>头文件
getchar(); //接受一个字符
字符串操作函数
find()——在字符串中查找字符或字符串
insert()——插入字符
clear()——删除全部字符
erase()——删除指定字符或字符串
size(),length()——返回字符串的长度
max_size()——返回字符串的可能最大个数
replace()——替换字符
copy()——复制
substr()——返回某个字符串
=,assign()——赋值
swap()——交换两个字符串的内容
+=,append(),push_bank()——在尾部添加字符
+——串联字符串
==,!=,<,<=,>,>=,compare()——比较字符串
empty()——判断字符串是否为空
capacity()——返回重新分配之前的字符容量
reserve()——保留一定量内存以容感一定数量的字符
find函数拓展
c++中string.find()函数与string::npos
字符串查找strA.find(strB) == string::npos
以下是天梯赛练习题中一道题1029 旧键盘
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
/* string:npos是个特殊值,说明查找没有匹配 */
string a, b, c;
cin>>a>>b;
for (int i=0; i<a.size(); i++)
{
if (b.find(a[i]) == string::npos && c.find(toupper(a[i])) == string::npos)
c+=toupper(a[i]);
}
cout<<c<<endl;
return 0;
}