C++的输入方式有很多,奈何某些认证必须要求使用标准输入。查阅了一下资料,基本的标准输入有六种。
而这六种,又包含在< iostream >< string >两个头文件中。前三个能在《C++ Primer Plus》一书中找到原话,顾不再提供演示代码。
一、< iostream >
1.cin
·以空白符(如空格 TAB 回车)为结束标识
·会留下换行符在输入队列中,字符串数字混合输入需要留意。
2.cin.getline();
·cin.getline(arrayname,arraysize);
·结束标志:换行符
·读取并丢弃换行符
3.cin.get();
·cin.getline(arrayname,arraysize);
·变体:cin.getline(arrayname,arraysize).get();
//以空get读取掉换行符
·结束标志:换行符
·读取并保留换行符在队列中
★在输入超长时,会保留溢出部分在输入队列中,或无法输入。
★此时可以使用cin.clear();
二、< string >
1.getline(cin.str)
·应用于字符串
·结束标志:回车
·丢弃换行符
·验证代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string temp1;
string temp2;
cout<<"输入:";
getline(cin,temp1);
cout<<"输入2:";
getline(cin,temp2);
cout<<"输出:"<<temp1<<endl<<"输入2:"<<temp2;
}
//会丢弃换行符
2.gets(arrayname);
·作用于数组
·结束标志:回车
·丢弃换行符
·验证代码
#include<iostream>
#include<string>
using namespace std;
int main(){
char temp1[100];
char temp2[100];
cout<<"输入:";
gets(temp1);
cout<<"输入2:";
gets(temp2);
cout<<"输出:"<<temp1<<endl<<"输入2:"<<temp2;
}
//只能作用于数组
//丢弃换行符
3.getchar();
·获取一个字符
·ch = getchar();
初学者归纳,如有错误,敬请指出。