用c++编写一个程序,输入文件名在屏幕上显示文件后十行,若文件少于十行则全部输出

如题所述

第1个回答  2011-11-07
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
int i,index,lines;
char Buffer[1024];
char FileName[256];

cout<<"Please input filename:"<<endl;
cin>>FileName;

ifstream infile(FileName, ios::in);
if (infile.fail())
{
cout << "打开文件"<<FileName<<"失败" << endl;
cin.get();
cin.get();
return -1;
}

lines=0;
while(infile.getline(Buffer,1024))
{
lines++;
}

if(lines>=10) cout<<"Last 10 lines:"<<endl;
else if(lines>1) cout<<"Only "<<lines<<" lines:"<<endl;
else if(lines>0) cout<<"Only 1 line:"<<endl;
else cout<<"No Lines available"<<endl;
index=0;
infile.clear();
infile.seekg(0,ios::beg);
while(infile.getline(Buffer,1024))
{
if(index>=lines-10)
cout<<Buffer<<endl;
index++;
}

infile.close();

cin.get();
cin.get();
return 0;
}本回答被提问者采纳
第2个回答  2011-11-07
如果是MFC里面编程的话,这个实现起来还是非常容易的。
有对应的访问文件函数。fseektoend然后从文件末尾读取数据,再用ReadString,一行一行读,循环十次 加上条件输出不超出文件头
第3个回答  2011-11-07
ee
相似回答