繁体   English   中英

文件结束 (EOF)

[英]End of File (EOF)

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

#include <iostream>
using namespace std;

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

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

#include <iostream>

int main() {
    double number;

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

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

我在这里改变了几件事:

  • using namespace std;删除using namespace std; ,这被认为是不好的
  • while更适合这项任务不是半空for

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

您可以使用标志来检查您是否有任何输入,如下所示:

#include <iostream>
using namespace std;

int main() {
    double number;
    bool flag = false;
    for (; cin >> number;)
        flag = true;
    if(flag)
        cout << number; 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM