首页 > 解决方案 > 文件结尾 (EOF)

问题描述

你好我写了一个算法,它打印最后一个数字,但我想知道当控制台/文件中没有数字时如何使它不打印“数字”的默认值(例如(4.94066e-324))。

#include <iostream>
using namespace std;

int main() {
double number;
for (; cin >> number;);
cout << number; }

标签: c++c++11

解决方案


一种方法是检查第一个输入操作是否成功:

#include <iostream>

int main() {
    double number;

    if(std::cin >> number)
    {
        while (std::cin >> number);

        std::cout << number; 
    }
    else 
    {
        std::cout << "There is no number :(";
    }
}

我在这里改变了几件事:

当然,这可以推广到任何std::basic_istream.


推荐阅读