ASCII相关:
48表示数字0,65表示大写字母A,97表示小写字母a
while(cin>>a)可以一直输入,直到停止输入时循环结束,比如0可以一直输入,循环继续
while(cin>>a,a)以a的值为准,a非零时可以继续循环,a为0时停止循环
字符串可以利用数组存储,结尾存入‘\0’表示字符串结束
cin,scanf读入时遇到空格、回车、结束符时停止读入
fgets(s,100,stdin)可以输入一行字符串,s表示存储字符串的数组名,100表示要读入的字符串长度
cin.getline(s,100)用法同fgets
getline(cin,s)这里的s是string类型,可以读入一行字符串到string类型的s中
string只能用cin读
puts(s)==printf(“%s\n”,s) s是char s[100]
strlen只计算字符的个数,\0不在其中
string类型的字符串s1输出时可以用puts(si.c_str())或者printf(“%s”,s1.c_str)
sstream头文件中包含
stringstream ssin(s);stringstream是一种数据类型,ssin是变量名可以任意取,其中s是一个已经定义且初始化好的字符串,ssin(s)类似于cin,我们可以从字符串s中读出任意类型的数据,需要读出什么就存到什么类型的变量中,例如:
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
string s;
getline(cin,s);
stringstream ssin(s);
int a,b;
string str;
double c;
ssin>>a>>str>>b>>c;
cout<<a<<endl<<str<<endl<<b<<endl<<c;
return 0;
}
输入:
123 yxc 321 1.23
输出:
123
yxc
321
1.23
字符串数组也有类似于stringstream的方法,就是sscanf(s,”%d%f%c”,&a,&b,&c);其中s为一个已经定义且初始化好的字符串
while(cin>>s)可以一直读,同理while(ssin>>s)可以将字符串s中的数据全读出来
string 有一个“.back()”函数,它的作用是返回字符串最后一个值;
string还有另一个函数“.pop_back()”它的作用是去掉最后一个字符
s.substr(i,len),其中“s”为一字符串,“.substr(i,len)”可以返回字符串s从位置i开始指定长度len的字符串