c++11 - c++输入字符的问题

查看:144
本文介绍了c++11 - c++输入字符的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我是想输入一句话进去,英文的。这样就需要保存住单词之间的空格,所以就是保存字符。我这个代码编译的时候没有错误,但是运行时,我输入一句话之后按回车,并不会输出我刚输入的内容。没有反应。请大家看一下。谢谢。

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    vector<char> ch;
    char word;
    int i;
    cout << "enter a sentence:" << endl;
    while (cin >> word)
    {
        ch.push_back(word);
    }
    for(auto c : ch)
        cout << c <<endl;
    system("pause");
    return 0;
}

解决方案

楼主要搞清楚

while (cin >> word)

的结束条件不是你输入换行符,而是输入文件结束符(EOF),在Linux是ctrl+D,windows上是ctrl+Z。所以你这个程序是做不到输入一行输出一行的,你输入的东西都成功了,但是都保存在word里,并没有执行到输出的语句。

这篇关于c++11 - c++输入字符的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆