c++中cin實現(xiàn)輸入字符串方式
c++ cin如何輸入字符串
1、cin
cin會過濾掉不可見字符(如空格、回車、tab等)。
如果不想略過空白字符,可以使用noskipws流控制。
cin>>noskipws>>input[i]
2、cin.get()
cin.get()可以用來接收字符
cin.get(字符數(shù)組名,接收字符數(shù)目)用來接收一行字符串,可以接收空格。
char a[20]; cin.get(a,20); cout<<a<<endl;
cin.get()默認接收一個字符,以tab鍵、space鍵和enter鍵結束。
3、cin.getline()
接收一個字符串,可以接收空格并輸出
cin.getline(m,5)
接收5個字符到m中,其中最后一個為‘\0’,所以只看到4個字符輸出。
4、getline()
接收一個字符串,可以接收空格并輸出,需包含#include
getline(cin,str);
c++ cin輸入 不定長輸入
C++ 不定長輸入,保存進數(shù)組,并打印
#include<iostream>
#include<vector>
using namespace std;
?
int main() {
?? ?vector<int> arr;
?? ?int i;
?? ?do {
?? ??? ?cin >> i;
?? ??? ?arr.emplace_back(i);
?? ?} while (cin.get() != '\n');
?? ?for (auto it = arr.begin(); it != arr.end(); it++) {
?? ??? ?cout << *it << " ";
?? ?}
?? ?cout << endl;
?? ?return 0;
}輸出
1 2 3 4 5 6 7
1 2 3 4 5 6 7
cin.get()獲取輸入一個字符,包含空格或換行等特殊字符,cin自動忽視空格或換行等特殊字符,cin讀取一個個數(shù)字,cin.get()讀取空格...以此交叉讀取。
#include<iostream>
#include<vector>
using namespace std;
?
int main() {
?? ?vector<int> arr;
?? ?int i;
?? ?while (cin.get() != '\n') {
?? ??? ?cin >> i;
?? ??? ?arr.emplace_back(i);
?? ?}?
?? ?for (auto it = arr.begin(); it != arr.end(); it++) {
?? ??? ?cout << *it << " ";
?? ?}
?? ?cout << endl;
?? ?return 0;
}輸出
1 2 3 4 5 6 7
2 3 4 5 6 7
cin.get()讀取第一個數(shù)字,cin忽視第一個空格讀取第二個數(shù)字,cin.get()讀取第二個空格...以此交叉讀取,因此第一個數(shù)字1沒被cin讀取。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C語言實現(xiàn)通訊錄的方法(包括靜態(tài)版本和動態(tài)版本)
本文給大家分享C語言實現(xiàn)通訊錄的方法(包括靜態(tài)版本和動態(tài)版本),針對每種方法給大家介紹的非常詳細,需要的朋友參考下吧2021-09-09

