【发布时间】:2015-12-20 20:10:03
【问题描述】:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("input.txt");
int i = 0,sum=0;
char x;
while (!in.eof()){
in >> i;
if (in.good()) {
cout << "integer is " << i << endl; sum += i;
}
if (in.fail()) {
in.clear();
in >> x;
cout << "the char is " << x << endl;
}
}
cout << sum;
char z;
cin >> z;
}
而我的 input.txt 是这样的:
熊:sdf 23 okI am fine 11q , 45
我的屏幕输出是这样的:
the last number 45 doesn't show up
那么这里发生了什么?为什么45被认为是一个out of file。如果我在 45 旁边立即添加一个 's',屏幕将显示两个 s,而不仅仅是一个。
【问题讨论】:
-
#inlcude -> #include