以上是Walter Savitch著的《C++面向对象程序设计 第五版》第152页的代码,是同时检查open调用的文件I/O. 我在原代码基础上将文本输出改成中文。
vc++6.0编译组建均成功,运行时,当工程文件夹中不存在infile.dat时,屏幕输出为“输入文件打开失败”。当存在时,屏幕无输出,文件夹下自己新建了outfile.dat,并且已写入文本:
infile.dat中的
前三个数的和
为1717986916
初步认定出现错误的原因是:infile.dat文件为空,所以in_stream不能读入数值,则first, second, third成为三个未赋值的变量,系统自动为其赋值,具体赋值为多少不知。
如果事先在infile.dat里至少写入三个数的话则输出正常。