首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教,C++ 数据流,如何从文件末尾开始读啊

2013-01-28 
请问,C++ 数据流,怎么从文件末尾开始读啊?比方说,File.txt中的内容是:124568789054先读54,再读90,之后是78

请问,C++ 数据流,怎么从文件末尾开始读啊?
比方说,File.txt中的内容是:
12  4   5   6   8   
78   90   54  

先读54,再读90,之后是78,8,6,6,5,12

请高手指点
[解决办法]
正读出来放进list,反转。
倒着读,真有这个必要吗?

[解决办法]
先顺序读入,然后再逆序即可,读文件时直接逆序得麻烦死.
[解决办法]


// C下用 fseek逆序读取
#include <stdio.h>

int main(int argc,char** argv)
{
FILE* fp=NULL;
fp=fopen("Li","wb"); //创建文件
if(fp==NULL)
{
printf("create or open failed!\n");
return 1;
}

fputs("This is a Test Applicatioin",fp);
fclose(fp);

fp=fopen("Li","rb");
int i=1;

for(i=1;fseek(fp,-i,SEEK_END)==0;i++)
{
putchar(fgetc(fp));
}

printf("\n");
fclose(fp);
getchar();
return 0;
}


[解决办法]

#include <iostream>
#include <fstream>
#include <list>

using namespace std;

int main()
{
ifstream ifs("FileName.txt");
if (ifs) {
list<int> data((istream_iterator<int>(ifs)), istream_iterator<int>());
data.reverse();
}
}

热点排行