5.字符串
5.1 string类 用printf输出时,
printf(“%”,a.c_str)
5.2 字符串结束用'\0'
5.3 读入字符数组时:
fgets(名称,需要读取的长度,stdin)
cin.getline(名称,需要读取的长度)
getline(cin,名称)
//常用操作
(1) strlen(str)//求字符串的长度
(2) strcmp(a, b)//比较两个字符串的大小,a < b 返回-1,a == b 返回0,a > b返回1。这里的比较方式是字典序!
(3) strcpy(a, b)//将字符串b复制给从a开始的字符数组。
5.4 s.size()函数返回字符串的长度,不包括结束符'\0';
string s = “abc";
cout<<"s.size()="<<s.size()<<endl;
5.5 把最后一个字符删掉
b.pop_back();
5.6 求字符串中的某一段
substr(i,len) // i起始位置 len长度
5.7 运行时间 clock()函数 单位:毫秒ms
#include<ctime>
int start_time = clock(); // 返回当前时间
cout<<clock()-start_time; //输出运行时间
5.8 流的输入输出
#include <iostream>
#include <cstring>
#include <algorithm>
#include<sstream>
using namespace std;
int main()
{
string s,a,b;
getline(cin,s);
cin>>a>>b;
stringstream ssin(s); //初始化之后等于cin
string str;
while(ssin>>str)
{
if(str==a)
cout<<b<<' ';
else
cout<<str<<' ';
}
return 0;
}
例题:acwing 770题
sscanf(a,"%d%s%d%lf") //从字符数组中提取
sscanf("%d",&sco);
stream头文件;
sscanf(a,"%d%lf%c");// 从字符串中提取
stringstrem abc;