我试图在c ++中编写一个简单的代码来从文本文件读取整数,代码应该在遇到负整数时停止读取。 txt文件在每一行包含1个正整数,最后一行是负整数。
我的代码现在使用eof,它也读取负整数,我不想要。
while(!inFile.eof())
{
inFile >> data;
}
文字档案
10
22
33
34
-1
提前致谢:)
答案 0 :(得分:7)
HMM ..
int data = 0;
while(inFile >> data && data >= 0)
{
// do stuff with data.
}
答案 1 :(得分:2)
您至少需要读取负数以确定您已达到输入结束。
while( inFile >> data)
{
if ( data < 0 ) break;
}
答案 2 :(得分:1)
def planckInv(lam, rad):
rad=rad*1.e6 #convert to W/m^2/m/sr
lam=lam*1.e-6 #convert wavelength to m
return (h*c/kB*lam)*( 1/ np.log( (2*h*c**2/lam**5) / rad +1 ))
从文件中读取检查是否大于零然后打印
答案 3 :(得分:-5)
也许像这样尝试测试传入整数的东西会起作用:
while(!inFile.eof())
{
inFile >> data;
if ( data < 0 ) {
break;
}
}