c++ - 文件结尾 (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;
,它被认为是坏的部分 - a
while
比半空更适合这项任务for
当然,这可以推广到任何std::basic_istream
.
推荐阅读
- html - 具有最大列数的 CSS Grid 具有动态子项
- node.js - 打字稿覆盖 .env 文件设置
- ruby-on-rails - 无法将未经许可的参数转换为哈希
- node.js - api 调用受到另一个 api 调用验证的影响
- http - okhttp 发送错误 HTTP 消息,多个请求标头?
- python - 如何在python中将XML文件转换为PDF
- scala - scala spark job在失败时给出了奇怪的异常
- android - Android中RecyclerView的Textview AutoSizing
- tableau-api - Tableau 动态地图标签
- c++ - 如何正确设置高电压触发抓取?