分段读取文件
2013-03-06 18:42
363 查看
一个文件可能很大,无法一次读取到内存中,所以要分段读取;虽然简单,不过经常用到,就写到这里;
这里为了简单演示,将所有代码在一个函数中完成,具体应用中当然还是要封装一下;
void CTmfc2Dlg::ReadFileT()
{
// TODO: Add your control notification handler code here
char * pstrFileName = "G:\\176x144.264";
const int nBufLen = 1000;
BYTE pbuf[nBufLen]={0};
int nTell = 0;
int nReadLen = 0;
static int nFileLen = 0;
static BOOL b = TRUE;
if ( b == TRUE )//»ñÈ¡Îļþ´óС£»
{
FILE * fpFileLen = fopen( pstrFileName, "r+b" );
fseek( fpFileLen, 0, SEEK_END );
nFileLen =ftell(fpFileLen);
fclose(fpFileLen);
b = 0;
}
static FILE * fp = fopen( pstrFileName, "r+b" );
nReadLen = fread( pbuf, 1, nBufLen, fp );
nTell = ftell( fp );
SetDlgItemInt( IDC_EDIT1, nReadLen );
SetDlgItemInt( IDC_EDIT2, nTell );
SetDlgItemInt( IDC_EDIT3, nFileLen );
if ( nTell == nFileLen )
{
fclose( fp );
AfxMessageBox("Îļþ¶ÁÈ¡OK¡£");
}
}
这里为了简单演示,将所有代码在一个函数中完成,具体应用中当然还是要封装一下;
void CTmfc2Dlg::ReadFileT()
{
// TODO: Add your control notification handler code here
char * pstrFileName = "G:\\176x144.264";
const int nBufLen = 1000;
BYTE pbuf[nBufLen]={0};
int nTell = 0;
int nReadLen = 0;
static int nFileLen = 0;
static BOOL b = TRUE;
if ( b == TRUE )//»ñÈ¡Îļþ´óС£»
{
FILE * fpFileLen = fopen( pstrFileName, "r+b" );
fseek( fpFileLen, 0, SEEK_END );
nFileLen =ftell(fpFileLen);
fclose(fpFileLen);
b = 0;
}
static FILE * fp = fopen( pstrFileName, "r+b" );
nReadLen = fread( pbuf, 1, nBufLen, fp );
nTell = ftell( fp );
SetDlgItemInt( IDC_EDIT1, nReadLen );
SetDlgItemInt( IDC_EDIT2, nTell );
SetDlgItemInt( IDC_EDIT3, nFileLen );
if ( nTell == nFileLen )
{
fclose( fp );
AfxMessageBox("Îļþ¶ÁÈ¡OK¡£");
}
}
相关文章推荐
- HTML5 文件域+FileReader 分段读取文件并上传-WebSocket
- 关于读取txt文件的分段问题
- NSFileHandle 分段读取数据 文件长度用FileManager获取
- 如何从一个文件特定段落中(文本文件),读取相关的文件信息,并进行分段梳理
- Unity 读取配置文件 自动切割 Animations 分段
- js 文件的上传 分段读取文件 FileReader
- HTML5 文件域+FileReader 分段读取文件(四)
- java实现分段读取文件并通过HTTP上传的方法
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(解决传输量小 慢)
- android FileInputStream分段读取文件 断点续传
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)
- 如何将一个大文件分段读取
- HTML5 文件域+FileReader 分段读取文件(五)
- Java分段从文件中读取数据
- WPF读取DXF文件(一)——DXF文件的分段存储
- HTML5 文件域+FileReader 分段读取文件并上传(七)-WebSocket
- 关于读取txt文件的分段问题
- HTML5 文件域+FileReader 分段读取文件并上传(八)-WebSocket
- 使用jpeg库读取jpg文件
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法