c++中cin實(shí)現(xiàn)輸入字符串方式
c++ cin如何輸入字符串
1、cin
cin會(huì)過(guò)濾掉不可見(jiàn)字符(如空格、回車(chē)、tab等)。
如果不想略過(guò)空白字符,可以使用noskipws流控制。
cin>>noskipws>>input[i]
2、cin.get()
cin.get()可以用來(lái)接收字符
cin.get(字符數(shù)組名,接收字符數(shù)目)用來(lái)接收一行字符串,可以接收空格。
char a[20]; cin.get(a,20); cout<<a<<endl;
cin.get()默認(rèn)接收一個(gè)字符,以tab鍵、space鍵和enter鍵結(jié)束。
3、cin.getline()
接收一個(gè)字符串,可以接收空格并輸出
cin.getline(m,5)
接收5個(gè)字符到m中,其中最后一個(gè)為‘\0’,所以只看到4個(gè)字符輸出。
4、getline()
接收一個(gè)字符串,可以接收空格并輸出,需包含#include
getline(cin,str);
c++ cin輸入 不定長(zhǎng)輸入
C++ 不定長(zhǎng)輸入,保存進(jìn)數(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()獲取輸入一個(gè)字符,包含空格或換行等特殊字符,cin自動(dòng)忽視空格或換行等特殊字符,cin讀取一個(gè)個(gè)數(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()讀取第一個(gè)數(shù)字,cin忽視第一個(gè)空格讀取第二個(gè)數(shù)字,cin.get()讀取第二個(gè)空格...以此交叉讀取,因此第一個(gè)數(shù)字1沒(méi)被cin讀取。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決C語(yǔ)言中使用scanf連續(xù)輸入兩個(gè)字符類(lèi)型的問(wèn)題
這篇文章主要介紹了解決C語(yǔ)言中使用scanf連續(xù)輸入兩個(gè)字符類(lèi)型的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12C語(yǔ)言實(shí)現(xiàn)十六進(jìn)制與二進(jìn)制的相互轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了如何利用c語(yǔ)言實(shí)現(xiàn)將文件中十六進(jìn)制數(shù)據(jù)與二進(jìn)制數(shù)據(jù)相互轉(zhuǎn)換,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以學(xué)習(xí)一下2022-11-11VS2019 更新MSDN并創(chuàng)建快捷方式的實(shí)現(xiàn)
這篇文章主要介紹了VS2019 更新MSDN并創(chuàng)建快捷方式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Qt5實(shí)現(xiàn)文本編輯器(附詳細(xì)代碼)
QT是一個(gè)跨平臺(tái)的GUI開(kāi)發(fā)框架,我使用的QT5 C++版本的,本文主要介紹了Qt5實(shí)現(xiàn)文本編輯器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07