winCE读写文件,无法读取
以下是我的写文件函数:为什么读取不了?
void CWinCEDlgDlg::WriteStrToFile(void)
{
CString strPath = _T("\\SDMemory\filefortest\test");
HANDLE handleOfFile = CreateFile(
strPath,
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
TRUNCATE_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if ( ! GetLastError())//file is not exist
{
handleOfFile = CreateFile(
/*_T("\\SDMemory\\filefortest\\test.txt")*/
strPath,
GENERIC_WRITE,
FILE_SHARE_WRITE|FILE_SHARE_READ,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (INVALID_HANDLE_VALUE == handleOfFile )
{
AfxMessageBox(_T("file create failed"));
return;
}
}
CString m_strFileTemp = m_strFile;
DWORD sizeOfFile = m_strFile.GetLength();
BOOL isSuccess = WriteFile(
handleOfFile,
&m_strFile,
1024,
&sizeOfFile,
NULL);
if (! isSuccess)
{
m_strFile = m_strFileTemp;
AfxMessageBox(_T("Failed in Write File"));
}
CloseHandle(handleOfFile);
} WinCE?文件读写
[解决办法]
m_strFile 是什么类型的变量,可能是它的错。
[解决办法]
CFile cf;
LPCTSTR FileName;
FileName=_T("/temp/SMSData.txt");
if(!cf.Open(FileName,CFile::modeNoTruncate
[解决办法]
CFile::modeReadWrite
[解决办法]
CFile::modeCreate))
{
AfxMessageBox(_T("Cannot open Text file"));
}
char *buf1=new char[MaxSMSdialnumber]; //dwBytesToSave];
memset(buf1,0x00,MaxSMSdialnumber);
for(i=0;i<dwBytesToSave;i++)
{
buf1[i]=Messagenumber.GetAt(i);
}
cf.Seek(0,CFile::end);
cf.Write(buf1,MaxSMSdialnumber); //dwBytesToSave);
cf.Close();
你用这个试试,BUF1 中有你的内容即可。