怎样用VC提取二进制文件内容的长度

打开的二进制文件,得到文件内容的长度,用来计算后给进度显示用,
怎样得到文件内容的长度?计算公式该怎么写?
下面是我的部份程序
FILE *binFile;
char szBuf[20];

CString sFileFilter="*.bin|*.bin";
CString sFileName;

CFileDialog fDlg(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,sFileFilter,NULL);
fDlg.DoModal();
sFileName=fDlg.GetFileName();

binFile=fopen(sFileName,"rb");

m_ctrlProgress.SetStep(1);//设置进度条步进值

// int nFilelen = binFile.GetLength();
自己搞定了
baifen = send_length *100 / binFile_length;
m_ctrlProgress.SetPos(baifen);

//你既然是使用了MFC,用MFC的方法方便。
sFileName=fDlg.GetFileName();
CFileStatus status;
if(CFile::GetStatus(sFileName, status)) // 获取文件状态
{
   TRACE(_T("File size = %u\n"), status.m_size);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-24
FILE * fp = fopen(filename,"rb");
fseek(fp,0,SEEK_END);
int Len = ftell(fp);
fclose(fp);本回答被提问者采纳

怎样用VC提取二进制文件内容的长度
FILE * fp = fopen(filename,"rb");fseek(fp,0,SEEK_END);int Len = ftell(fp);fclose(fp);

用wininet的InternetReadFile如何得知文件大小
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer 发现其定义ByVal sBuffer As String 看来只能用String了,在网上查找过程中,发现人家用VC写的程序中这人参...

请教VC读取二进制文件问题
把len开大点就行了

如何vc++6.0使用CFile类读取含结构体的二进制文件?
如何vc++6.0使用CFile类读取含结构体的二进制文件? 10 需要读取的文件sz000010.day的数据结构是:每32个字节为一条记录00-03字节:整型,intdate;\/\/eg.2009042704-07字节:整型,int_open;08-11字节:整型,int_high;12-15字节:整型,int... 需要读取的文件sz000010.day的数据结构是:每32个字节为一条记录00-03...

vc选择性读取二进制文件
文本文件的话每一行结尾应该是这2个字节:0D0A(16进制),你拿winhex看看 接下来的方法就不用我说了。

求高手求解,怎么读取二进制文件 有一个整数文件(二进制文件),怎么读取...
用C++编译器,编一个代码,先把该二进制文件输入到内存,然后用cout流再把他从内存提取到显示器里就可以了。你说的是整数文件(十进制),那直接用“cout<<”就可以了,不过怎样编排,依情况而定。

VC中如何读取TXT文件中的二进制序列,就是一串0,1的序列。我可以用字符...
字符数组,每一个值都是一个字符变量,你可以再定义一个同样长度的整型数组,对每一个字符进行强制转换,如:intBuf = new int[LengthOfDate];intBuf[i]=(int)(pBuf[i])。这样,你就可以对其进行操作了

如何用c语言输出地址的内容,如下所示:
15+1023=1038。二进制表示为:100 00001110 符号位:正—— 0 !合在一起(尾数二进制最高位的1不要):01000000 11100010 11000001 11001101 01010101 01010101 01010101 01010101 按字节倒序存储的十六进制数就是:55 55 55 55 CD C1 E2 40 =...

求vc读HEX文件并转换成二进制bin文件的代码
const int N=1024; \/\/我每次从文件中读1024个字节进行转换,你可以根据需要适当调节。\/\/ strHexPathName是你要转换的Hex文件路径字符串(包括路径,文件名和扩展名)\/\/ strBinPathName是转换后的Bin文件路径字符串(包括路径,文件名和扩展名)void Convert(LPCTSTR strHexPathName,LPCTSTR strBinPathN...

怎样在VC++ 中使用二进制的 "资源文件" ?(高难)
return dwSize;}\/\/\/ DUMP生成文件\/\/BOOL MakeFileFromData(PBYTE pData,LONG lSize,LPCSTR lpszFilePath){if(pData == NULL || lpszFilePath == NULL || lpszFilePath[0] == '\\0')return FALSE;HANDLE hFile = CreateFile(lpszFilePath,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE...

相似回答
大家正在搜