C++ Primer Plus P64——程式清單4.5
使用get解決輸入問題
相較于程式清單4.3的解決方案的第二種方法
/*
C++ Primer Plus P64——程式清單4.5
使用get解決輸入問題
*/
#include<iostream>
int main(void)
{
using namespace std; // 編譯指令
const int Arsize = 20; //定義數組元素個數
char name[Arsize]; //用于存儲名字
char dessert[Arsize]; //用于定義使用者喜歡的甜品
cout << "Enter your name:" << endl; //提醒使用者輸入名字
cin.get(name, Arsize).get(); //面向行的輸入字元串工具_get(數組名,元素個數)
cout << "Enter your favorite dessert:" << endl;
cin.get(dessert, Arsize).get(); //面向行的輸入字元串工具_get(數組名,元素個數)
cout << "I have some delicious " << dessert; //顯示點的甜品
cout << " for you, " << name << endl; //顯示名字
return 0;
}
/*
cin.get(name, Arsize).get();
因為get将會保留換行符,而getline則不會,是以解決get二次輸入的時候将讀取到換行符而無法正常讀取後面的資料,
是以解決方法就是在cin.get(數組,元素個數)後在加一個空get,即:
cin.get(數組,元素個數).get();
*/
相較于程式清單4.3的更改:
cout << "Enter your name:" << endl; //提醒使用者輸入名字
cin.get(name, Arsize).get(); //面向行的輸入字元串工具_get(數組名,元素個數)
cout << "Enter your favorite dessert:" << endl;
cin.get(dessert, Arsize).get(); //面向行的輸入字元串工具_get(數組名,元素個數)
注意:
cin.get(name, Arsize).get();
因為get将會保留換行符,而getline則不會,是以解決get二次輸入的時候将讀取到換行符而無法正常讀取後面的資料,
是以解決方法就是在cin.get(數組,元素個數)後在加一個空get,即:
cin.get(數組,元素個數).get();
結果:
感謝觀看
再次感謝~