cin.get() cin.peek() 和cin>>i (i為char i[] 或者int) 的不同
阿新 • • 發佈:2018-12-30
cin.get() cin.peek() 和cin>>i (i為char i[] 或者int) 的不同
- *cin>>i(i為char i[] 或者int) 的不同
#include <iostream>
using namespace std;
int main(){
char a[30],i=0;
while(cin>>a[i]){
cout<<a[i];
i++;
}
return 0;
}
此時輸入enter 並不會結束 而是需要輸入ctrl+z 才能退出
而若以上程式碼的char a[] 為int型 同樣輸入enter 不會結束 需要輸入ctrl+z 才能退出
但是 int型還可以在接收char型 或其他非int型時退出2
cin.get() cin.peek() 的不同
while((cin.get() != ‘\n’ )&& cin>>i);
此時輸入的第一個字元不會傳給i,而是傳到cin.get()中,導致程式不正確。
而cin.peek()則從輸入流中取出內容進行對比後,將取出內容退回到輸入流中,此時cin>> i可以獲得輸入的第一個字元。
但是 兩者都需要ctrl+z 才能退出