簡體   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