CHashChainShow::CHashChainShow(char * cs)
{
//文件的写入
HANDLE hFile;
hFile=CreateFile("123.dat",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dwsize;
WriteFile(hFile,cs,strlen(cs),&dwsize,NULL);
CloseHandle(hFile);
}
当我传入的参数*cs比如是:"111111"(这些字符从IDET控件获取),可以正常创建123.dat文件,里面的内容也正式"111111"当我从一个文件中读取数据时,比如读取了abc.dat文件中的字符,然后将此字符传入到*cs参数中,就无法创建123.dat这个文件。
(注:我用getlasterror()函数查看,返回的结果是183,也就是说这个文件是存在的,但是文件夹内明明就是没有这个文件)。怀疑之后,我在另外一个函数里面用CreateFile()和ReadFile()再去读取123.dat,居然可以读取到123.dat里面的数据,但是此时仍然看不到文件的影子。大家有遇到过这种情况么?
{
//文件的写入
HANDLE hFile;
hFile=CreateFile("123.dat",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dwsize;
WriteFile(hFile,cs,strlen(cs),&dwsize,NULL);
CloseHandle(hFile);
}
当我传入的参数*cs比如是:"111111"(这些字符从IDET控件获取),可以正常创建123.dat文件,里面的内容也正式"111111"当我从一个文件中读取数据时,比如读取了abc.dat文件中的字符,然后将此字符传入到*cs参数中,就无法创建123.dat这个文件。
(注:我用getlasterror()函数查看,返回的结果是183,也就是说这个文件是存在的,但是文件夹内明明就是没有这个文件)。怀疑之后,我在另外一个函数里面用CreateFile()和ReadFile()再去读取123.dat,居然可以读取到123.dat里面的数据,但是此时仍然看不到文件的影子。大家有遇到过这种情况么?
解决方案 »
- MFC出现错误 cannot save file. the file may be in use by another application
- [请教]异步io失败怎么办?
- 如何当鼠标移动到定级菜单的时候,在状态栏显示信息.
- Run-Time 错误求助
- 求关于系统辨识的程序,如有人解决,最低100分相赠
- 急,求教高手,立即给分!在html中调用COM组件的方法的一个问题。
- 如何在ATL COM组件中加入自定义消息?高手们帮帮我吧!!! 要分给分要钱给钱!!!
- 我的把32位DDB转为2色Dib是否正确
- 小问题
- 请教:如何在菜单左侧添加图标,就像VC++的Fiel/New左侧的小图标那种?
- 帮忙解释一下,这两句中的GetWindowText有什么区别,我看不明白,谢谢!
- VC2005调用DELPHI写的ActiveX控件,加载DLL,生产类文件后,要怎样才能成功调用控件中的函数
CFileException* e=new CFileException();
char* szFull=new char[_MAX_PATH];
char* szDrive=new char[_MAX_DRIVE];
char* szDir=new char[_MAX_DIR];
::GetModuleFileName(NULL, szFull,_MAX_PATH);
_splitpath(szFull, szDrive, szDir, NULL, NULL);
CString curDir;
curDir.Format("%s%s", szDrive, szDir);
delete[] szFull;delete[] szDrive;delete[] szDir; if(!pFile->Open(curDir+"\\123.dat",CFile::modeRead|CFile::shareDenyNone,e))
{
char* errmsg=new char[255];
e->GetErrorMessage(errmsg,255);
MessageBox(errmsg,"错误"); delete[] errmsg;
e->Delete();
return;
}
这样curDir可以保证是exe所在目录..当然还有其他方法,google,百度一下吧