繁体   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