我要用CFile类读取二进制文件(Line1.dat),存入Data[MAXNUMBER],二进制文件(Line1.dat)中的数据应该是:
124
123
123
123
123
143
每次读取一个,比如第一个数124.第二次取123,.....
我现在用
dataFile.Open("Line1.dat",CFile::modeRead);
dataFile.Read(&Data[0],sizeof(Data[0])
读不出数据,是不是文件格式不对啊?还是怎么回事?
124
123
123
123
123
143
每次读取一个,比如第一个数124.第二次取123,.....
我现在用
dataFile.Open("Line1.dat",CFile::modeRead);
dataFile.Read(&Data[0],sizeof(Data[0])
读不出数据,是不是文件格式不对啊?还是怎么回事?
解决方案 »
- 在64环境下编程遇到的一个问题,求助
- VC6通过,05下错误一堆!
- 请教Dialog的style:Overlapped和Popup的区别
- vc和调用的flash控件实现消息传递
- 如何调用int GetWindowText(hWnd,LPTSTR lpString,Int nMaxCount)有三个参数的函数?
- 在多文档里创建的ctreeview里,同一个item怎么显示两次?
- void CMainFrame::AssertValid() const的const含义是什么?
- 有些BMP文件用PHOTOSHOP无法打开,提示“文件格式模块不能解析该文件”,请问有什么方法解决(编程实现,最好有原码)
- 关于《深入浅出MFC》简单的环境设定问题。情各位帮忙!
- 对话框为什么按回车就自动关闭?
- 大家帮下忙:如何在切分的view里面实现像表格一样的东西!
- 高分求一个数据库问题的解决方法~~~~
里面的格式就是
124
123
123
123
123
143
BOOL Open(LPCTSTR pstrFileName,
DWORD dwAccess = GENERIC_READ,
DWORD dwShareMode = FILE_SHARE_READ,
DWORD dwFlags = OPEN_EXISTING,
DWORD dwAttributes = FILE_ATTRIBUTE_NORMAL)
{
_ASSERTE(!::IsBadStringPtr(pstrFileName,-1));
Close();
// Attempt file creation
HANDLE hFile = ::CreateFile(pstrFileName,
dwAccess,
dwShareMode,
NULL,
dwFlags,
dwAttributes,
NULL);
if( hFile == INVALID_HANDLE_VALUE ) return FALSE;
m_hFile = hFile;
return TRUE;
}
这是打开文件
以下是读文件:
BOOL Read(LPVOID lpBuf, DWORD nCount)
{
_ASSERTE(m_hFile!=INVALID_HANDLE_VALUE);
_ASSERTE(lpBuf!=NULL);
_ASSERTE(!::IsBadWritePtr(lpBuf, nCount));
if( nCount==0 ) return TRUE; // avoid Win32 "null-read"
DWORD dwRead;
if( !::ReadFile(m_hFile, lpBuf, nCount, &dwRead, NULL) ) return FALSE;
return TRUE;
}
然后在关闭:
void Close()
{
if( m_hFile == INVALID_HANDLE_VALUE ) return;
::CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
}
CStdioFile.ReadString()
CStdioFile file;
CString buff ;
int i = 0 ;
if(file.Open("Line1.dat",CFile::modeRead))
{
while(file.ReadString(buff))
{
Data[i] = atoi(buff) ;
i++ ;
} }
else
{
MessageBox("打开文件错误") ;
}}
读二进制文件应该用unsigned char类型啊
unsigned char *sData=new unsigned char [REQUIRELENGTH];读数据的时候
nLength=sizeof(unsigned char)*REQUIRELENGTH;
fp.Read(sData,nLength);