注册 登录
编程论坛 C++教室

EOF的用法?

shaoyuan 发布于 2008-11-06 18:51, 1945 次点击
#include<iostream.h>
#include<fstream.h>
void main(){
    char ch;
    ofstream of1("a:wr1.dat");
    ch=cin.get();
    while(ch!=EOF){
         of1.put(ch);
         ch=cin.get();
    }
    of1.close();
}
该程序在输出的时候如果输入方式为:
abc^Z
时为什么不会结束循环而要在输入一次control z??

[[it] 本帖最后由 shaoyuan 于 2008-11-8 20:23 编辑 [/it]]
2 回复
#2
debroa7232008-11-06 22:00
第一次输入的abc^Z并不能让ch!=EOF条件满足.
ch的确在这时候不等于EOF呀,所以进入第二次输入状态.
#3
shaoyuan2008-11-06 22:12
abc^z不能让ch!=EOF条件满足,那么为什么还会提示输入?
1