标题:按逆序输出
只看楼主
神秘失恋
Rank: 1
等 级:新手上路
帖 子:663
专家分:0
注 册:2007-1-6
得分:0 


表得...

上帝之手.........
2007-01-06 19:34
梦幻人生
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-1
得分:0 
while (!feof(fp))
i++;
好像是死循环

You are larger than life!
2007-01-06 21:10
hjingya
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-12-6
得分:0 
工夫尚浅,无法答疑。学习中。

2007-01-07 00:20
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 
你想得到文件的长度,不是像你那样的,因为fp的位置指针一直不动,i++是停止不了的,
一种方法是调用io里的filelength函数,不过文件系统有所差别。另外一种就是利用栈来把文件倒序输出,可以是自定义栈,也可以用系统栈(便是递归).
两种方法分别如下:
first:
[CODE]#include <fcntl.h>
#include <io.h>
int handle=open("1.txt",O_RDONLY);
i=filelength(handle);
close(handle);[/CODE]
second:
void reverse(FILE *fp)
{
char ch;
if((ch=fgetc(fp))!=EOF)
{
reverse(fp);
fputc(ch,stdout);
}
}

对不礼貌的女生收钱......
2007-01-07 09:56
slamzhzm
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-12-9
得分:0 

LS的好人啊,谢谢了

2007-01-07 13:58
hqdvista
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2009-11-24
得分:0 
递归好方法啊~~14L太强了
2010-01-06 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-114628-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.169707 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved