簡體   English   中英

它不會顯示完整地址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM