首页 > 代码库 > 文件操作(输出倒数第二行)
文件操作(输出倒数第二行)
1.输出倒数第二行
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(){
//cin.imbue(locale("chs"));
cout.imbue(locale("chs"));//控制台输出中文
int i,len=1;
char ch=NULL;
ifstream infile("aaa.txt");
while(ch!=EOF){
ch=infile.get();
if(ch==‘\n‘){
len++;//判断有几行,当然也可用getline来判断
}
}
cout<<len<<endl;
infile.close();
infile.open("aaa.txt");//需要重新打开文件,否则指针已到文件末尾
string temp;
for(i=0;i<len-1;i++){//输出倒数第2行
getline(infile,temp,‘\n‘);
}
cout<<temp<<endl;
system("pause");
return 0;
}
2.逆序输出
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(){
//cin.imbue(locale("chs"));
cout.imbue(locale("chs"));//控制台输出中文
int i=0,len=0;
char ch=‘a‘;
ifstream infile("aaa.txt");
while(ch!=EOF){
ch=infile.get();
len++;
}
infile.close();
infile.open("aaa.txt");
while(i<=len){
infile.seekg(-i-1,ios::end);
ch=infile.get();
cout<<ch;
i++;
}
system("pause");
return 0;
}