[英]It won't print full address
有人可以告訴我為什么它不能顯示我的完整地址嗎? 最終輸出是“您的名字叫Syd,您的年齡為2845。” 為什么這樣做呢? 我清楚地指出要打印地址字符串。 (順便說一句,我實際上輸入的是2845 SE Taylor Street)
#include <iostream>
using namespace std;
int main()
{
string address;
cout << "Please enter your address." << endl;
cin >> address;
cout << "You live at " << address << "." << endl;
return 0;
}
cin >> address;
這將讀取一個單詞,並停在第一個空格字符處。 要閱讀整行:
std::getline(cin, address);
輸入運算符讀取以空格分隔的值。 因此,如果您的地址中有空格,那么它將僅讀取第一個“單詞”。
更糟糕的是,如果您輸入全名,則第一個輸入將讀取名字,第二個輸入將讀取第二名字。
嘗試使用std::getline
讀取整行,但首先執行std::cin.ignore(numeric_limits<streamsize>::max(),'\\n');
從最后一個輸入中跳過換行符(或對兩個輸入都使用std::getline
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.