狼
狼牙
Unregistered / Unconfirmed
GUEST, unregistred user!
请教如何在一个二进制文件末尾往前读取一段数据?
下面是我写的代码:
for(int i=0;i<6000;i++){//6000是不定数据。
fseek(infile,-i-128L,2);
fread(&buffer,1,1,infile);
}
现在buffer里面的就是倒过序的数据了。把她再倒一下:
for(int i=6000;i>0;i--){
...
}
效果倒是有。就是效率太差了。如果一次性读入大块数据。那么
如何进行倒序??也就是说如何读取一个二进制文件末尾偏离128
个字节开始的前面一段数据?并进行转换成文本数据?而可以存储。
下面是我写的代码:
for(int i=0;i<6000;i++){//6000是不定数据。
fseek(infile,-i-128L,2);
fread(&buffer,1,1,infile);
}
现在buffer里面的就是倒过序的数据了。把她再倒一下:
for(int i=6000;i>0;i--){
...
}
效果倒是有。就是效率太差了。如果一次性读入大块数据。那么
如何进行倒序??也就是说如何读取一个二进制文件末尾偏离128
个字节开始的前面一段数据?并进行转换成文本数据?而可以存储。