lseek、fseek实例
来源:互联网 发布:js navigator.appname 编辑:程序博客网 时间:2024/06/05 21:50
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#define FOPEN_DEBUG 1
#if FOPEN_DEBUG
int main(void)
{
int nFile;
unsigned long ulTmpFilePosition, ulFilePosition;
unsigned int nReadBytes;
unsigned char szReadBuf[1024];
int i;
nFile = open("sample_d0.h264", O_RDONLY);
if(nFile < 0)
return 0;
ulTmpFilePosition = lseek(nFile, 0, SEEK_END) - lseek(nFile, 0, SEEK_SET);
ulFilePosition = 1024;
while(1)
{
nReadBytes = lseek(nFile, 0, SEEK_END) - lseek(nFile, ulFilePosition, SEEK_SET);
nReadBytes = lseek(nFile, 0, SEEK_CUR);
if(nReadBytes >= 1024)
{
memset(szReadBuf, 0x00, sizeof(szReadBuf));
nReadBytes = read(nFile, szReadBuf, sizeof(szReadBuf));
for(i=0; i<nReadBytes; i++)
printf("%02x ", szReadBuf[i]);
printf("READ FILE BYTES %d\n",nReadBytes);
if(nReadBytes == 0)
break;
getchar();
ulFilePosition = ulFilePosition + nReadBytes + 1;
}
}
return 0;
}
#else
int main(void)
{
FILE *pFile;
unsigned long ulTmpFilePosition, ulFilePosition;
unsigned int nReadBytes;
unsigned char szReadBuf[1024];
int i;
pFile = fopen("sample_d0.h264", "rb");
if(pFile == NULL)
return 0;
ulTmpFilePosition = fseek(pFile, 0, SEEK_END) - fseek(pFile, 0, SEEK_SET);
ulFilePosition = 1024;
while(1)
{
nReadBytes = fseek(pFile, 0, SEEK_END) - fseek(pFile, ulFilePosition, SEEK_SET);
nReadBytes = fseek(pFile, 0, SEEK_CUR);
if(nReadBytes >= 1024)
{
memset(szReadBuf, 0x00, sizeof(szReadBuf));
nReadBytes = fread(szReadBuf, sizeof(szReadBuf), 1, pFile);
for(i=0; i<nReadBytes; i++)
printf("%02x ", szReadBuf[i]);
if(nReadBytes == 0)
break;
ulFilePosition = ulFilePosition + nReadBytes + 1;
}
printf("READ FILE BYTES %d\n",nReadBytes);
getchar();
}
return 0;
}
#endif
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#define FOPEN_DEBUG 1
#if FOPEN_DEBUG
int main(void)
{
int nFile;
unsigned long ulTmpFilePosition, ulFilePosition;
unsigned int nReadBytes;
unsigned char szReadBuf[1024];
int i;
nFile = open("sample_d0.h264", O_RDONLY);
if(nFile < 0)
return 0;
ulTmpFilePosition = lseek(nFile, 0, SEEK_END) - lseek(nFile, 0, SEEK_SET);
ulFilePosition = 1024;
while(1)
{
nReadBytes = lseek(nFile, 0, SEEK_END) - lseek(nFile, ulFilePosition, SEEK_SET);
nReadBytes = lseek(nFile, 0, SEEK_CUR);
if(nReadBytes >= 1024)
{
memset(szReadBuf, 0x00, sizeof(szReadBuf));
nReadBytes = read(nFile, szReadBuf, sizeof(szReadBuf));
for(i=0; i<nReadBytes; i++)
printf("%02x ", szReadBuf[i]);
printf("READ FILE BYTES %d\n",nReadBytes);
if(nReadBytes == 0)
break;
getchar();
ulFilePosition = ulFilePosition + nReadBytes + 1;
}
}
return 0;
}
#else
int main(void)
{
FILE *pFile;
unsigned long ulTmpFilePosition, ulFilePosition;
unsigned int nReadBytes;
unsigned char szReadBuf[1024];
int i;
pFile = fopen("sample_d0.h264", "rb");
if(pFile == NULL)
return 0;
ulTmpFilePosition = fseek(pFile, 0, SEEK_END) - fseek(pFile, 0, SEEK_SET);
ulFilePosition = 1024;
while(1)
{
nReadBytes = fseek(pFile, 0, SEEK_END) - fseek(pFile, ulFilePosition, SEEK_SET);
nReadBytes = fseek(pFile, 0, SEEK_CUR);
if(nReadBytes >= 1024)
{
memset(szReadBuf, 0x00, sizeof(szReadBuf));
nReadBytes = fread(szReadBuf, sizeof(szReadBuf), 1, pFile);
for(i=0; i<nReadBytes; i++)
printf("%02x ", szReadBuf[i]);
if(nReadBytes == 0)
break;
ulFilePosition = ulFilePosition + nReadBytes + 1;
}
printf("READ FILE BYTES %d\n",nReadBytes);
getchar();
}
return 0;
}
#endif
- lseek、fseek实例
- fseek()/ftell()/rewind()/lseek()/fstat()
- fseek()/ftell()/rewind()/lseek()/fstat()
- Linux下 fseek() ftell() rewind() lseek() fstat() 的使用方法
- lseek()函数和fseek()函数的使用详解
- fseek(FILE *, long, int)实例
- lseek
- lseek
- lseek
- lseek
- lseek
- lseek()
- lseek()
- lseek
- C语言中lseek()函数和fseek()函数的使用详解
- fseek
- fseek()
- fseek
- 新建文本文档
- Qt中不规则窗体和部件的实现
- 当前路径和上级目录的表示方法
- java同步方法和同步代码块
- LeetCode题目笔记(三) -- Median of Two Sorted Arrays
- lseek、fseek实例
- Linux系统加固paper
- python 写Excel操作
- 使用Spread.NET创建XY Plot图表
- malloc多线程实例
- QT下的几种透明效果
- python之import模块详解
- POJ 3070 Fibonacci
- ifconfig 截取ip地址 -linux