1. cin
cin是C++中最常用的輸入語句,當遇到空格或者回車鍵即停止
如:
#include <iostream>
#include <string>
using namespace std;
int main()
{
chara[50];
cin>>a;
cout<<a<<endl;
return0;
}
輸入:abcd遇回車輸出abcd
缺點:只能輸入沒有空格的字符串,當輸入中含有空格,則只能輸出空格之前的字符
輸入:I love China輸入空格時輸入并未停止,遇回車輸入停止,輸出I,空格后面的均未輸出。
2. gets()
可以無限讀取,以回車結束讀取,C語言中的函數,在C++中運行會產生bug。
如:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
chara[50];
cin>>a;
gets(a);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果為love China。首字符自動丟棄。
3. getline()
若定義變量為string類型,則要考慮getline()函數。用法如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
stringa;
getline(cin,a);
cout<<a<<endl;
return0;
}
輸入:I love China回車并未結束輸入,需回車兩次才能結束輸入,輸出結果為:I love China.
4.cin.get cin.getline
cin.get()函數可以接收空格,遇回車結束輸入。
#include <iostream>
using namespace std;
int main()
{
chara[50];
cin.get(a,50);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果為I love China。
5. cin.getline
cin.getline()函數可以同cin.get()函數類似,也可接收空格,遇回車結束輸入。
#include <iostream>
using namespace std;
int main()
{
chara[50];
cin.getline(a,50);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果為I love China。
*****
> 用法1:截取下標從2(第3個字符)開始到字符串結尾的字符串
> string str = "ABCDEFG";
string cut= str.substr(2);
最終,cut="CDEFG"。
*****
> 用法2:截取下標從2(第3個字符)開始截取3個字符的字符串
> string str = "ABCDEFG";
string cut= str.substr(2,3);
最終,cut="CDE",即從下標為2開始向后數3位。
*****