#include <iostream.h>
const int size=80;
void main()
{
int lcnt=0, lmax=-1;
char buf[size];
cout<<"input  \n";
while(cin.getline(buf, size))
{
int count=cin.gcount();
lcnt++;
if(count>lmax) lmax=count;
cout<<"line #  "<<lcnt<<"\t"<<"chars read:"<<count<<endl;
cout.write(buf, count).put('\n').put('\n');
}
cout<<endl;
cout<<"total line:"<<lcnt<<endl;
cout<<"longest line:"<<lmax<<endl;
}下面的程序,为什么要按ctrl +z  才能退出?

解决方案 »

  1.   

    while(cin.getline(buf, size))一直等待从键盘输入数据,所以一直为1,就一直循环。所以得按键!
      

  2.   

    多谢回复,  在哪个文件可以看到ctrl+z表示EOF 这一点啊?
      

  3.   

    getline是得到每一个输入字符
    unix下是ctrl+d
    windows下面和dos下面是ctrl+z
      

  4.   

    就是想知道为什么是ctrl +z 啊
      

  5.   

    就是想知道为什么是ctrl  +z  啊
      

  6.   

    什么东东,tc下通不过,vc下死循环,ctrl  +z 也退不出