#include<iostream>
using namespace std;
int main()
{
string s;
cout<<"請輸入一串字符:";
//忽略輸入緩沖區(qū)前8個字符
//如果前八個字符中存在結束符迈窟,那么就忽略結束符之前 的字符
cin.ignore(8,' '); //設置' '為結束符
cin>>s;
cout<<"string s="<<s<<endl;
return 0;
}
cin.putback(' ');//cin 是去輸入緩存拿東西,如果沒有就等待輸入宵晚,putback就是往輸入緩存放東西
#include<iostream>
using namespace std;
int main()
{
char ch;
cin.putback('a');
cout<<"請輸入一個ch數據:";
cin>>ch; //由于輸入緩存流已經有東西李茫,所以不會等待輸入
cout<<ch<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int i;
string s;
cout<<"start"<<endl;
char ch=cin.peek(); //查看緩存流第一個字符
cout<<"end"<<endl;
if((ch>='0')&&(ch<='9'))
{
cin>>i;
cout<<"int i="<<i<<endl;
}
else
{
cin>>s;
cout<<"string s="<<s<<endl;
}
}
//有一個致命缺陷规辱,因為只能查看緩存流第一個字符绿鸣,所以后面的字符無法判斷
#include<iostream>
using namespace std;
int main()
{
int i=11;
cout<<hex<<i<<dec<<i<<endl;'
cout<<setbase(8)<<i<<endl; //只能設為8,16,10進制
}
流算子操作符串在后面<<
函數用 .
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
char n[34]={0};
cin.width(5); //設置讀取字符寬度
while(cin>>n)
{
cout<<"n="<<n<<endl;
cin.width(6);
}
return 0;
}
#include<iostream>
#include<iomanip>
#include<limits>
using namespace std;
int main()
{
int a;
int b;
cin>>a;
cout<<"a="<<a<<endl;
cout<<"cin1="<<cin.good()<<endl; //驗證cin是否是好的疚沐,如果好的返回1
if(!cin.good())
{
cin.clear(); //恢復cin
cin.ignore(numeric_limits<streamsize>::max(),'\n'); //清空輸入緩存流
}
cout<<"cin2="<<cin.good()<<endl;
cin>>b;
cout<<"b="<<b<<endl;
return 0;
}