📄 subject_17179.htm
字号:
<p>
序号:17179 发表者:憨憨 发表日期:2002-10-09 11:00:00
<br>主题:关于文件操作的问题,请各位高手指教(急)
<br>内容:本人在对一文件进行OPEN操作时,老是出现"在存取XXX时发生共享违例"的错误,请位为什么??一般有什么原因会导致这种情况的出现?怎么解决??请HELP
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-10-09 11:02:47
<br>内容:一般来说是你在打开文件时设置的共享模式不对<BR>看看MSDN就可以了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zhouyp 回复日期:2002-10-09 11:03:50
<br>内容:是不是你在OPEN后没有CLOSE该文件?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-10-09 11:26:03
<br>内容:应该在每次OPEN打开文件操作后,在第二次OPEN时之前,应该选CLOSE该文件句柄,再打开它。<BR>如下:<BR> //建一数据文件,保存当前文件名(不含路径),第二次运行程序时自动播放<BR> CStdioFile TxtFile;<BR><BR> //创建情话数据文件,保存路径设为主执行程序所在路径<BR> if (!TxtFile.Open(strPath+ "\\lovepet.dat", CFile::modeCreate | CFile::modeWrite | CFile::typeText))<BR> {<BR> CString strErrorMessage;<BR> strErrorMessage = "创建情话数据文件: "+strPath+"lovepet.dat 失败 !";<BR> AfxMessageBox(strErrorMessage);<BR> }<BR> else<BR> {<BR> //写入情话文件名(不含路径,及默认当前路径,好一起发给对方)和文字表达<BR> if(strWavFile!="" && m_TextDescription!="")<BR> {<BR> TxtFile.WriteString(strWavFile);<BR> TxtFile.WriteString ("$$$");<BR> TxtFile.WriteString (m_TextDescription);<BR> }<BR> else if(m_TextDescription!="")<BR> {<BR> TxtFile.WriteString ("$$$");<BR> TxtFile.WriteString (m_TextDescription);<BR> }<BR> else<BR> {<BR> TxtFile.WriteString(strWavFile);<BR> TxtFile.WriteString ("$$$");<BR> }<BR><BR> TxtFile.Close();<BR> }<BR><BR>void CCustomWavFile::OnCancel() <BR>{<BR> CStdioFile TxtFile;<BR><BR> //情话数据文件存在,则删除它<BR> if (TxtFile.Open(strPath+"\\lovepet.dat", CFile::modeRead|CFile::typeText))<BR> {<BR> <BR> TxtFile.Close();<BR> //在恢复原始情话时,删除自定制情话数据文件<BR> TxtFile.Remove(strPath+"\\lovepet.dat");<BR> }<BR> <BR><BR> CDialog::OnCancel();<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:黄飚 回复日期:2002-10-09 11:53:21
<br>内容://example for CFile::Open<BR>CFile f;<BR>CFileException e;<BR>char* pFileName = "test.dat";<BR>if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )<BR> {<BR>#ifdef _DEBUG<BR> afxDump << "File could not be opened " << e.m_cause << "\n";一定要加上调试信息看一下,这可是编程的习惯问题<BR>#endif<BR> }<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨憨 回复日期:2002-10-09 14:35:59
<br>内容:谢谢各位,但问题依然没有解决,大家所说的情况都不符合小弟的情况,我是在第一次打开文件时出现上述问题,所以不存在没有CLOSE的可能。(重启后依然)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:luo 回复日期:2002-10-09 17:09:14
<br>内容:那把你的代码拷上来。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨憨 回复日期:2002-10-10 08:54:56
<br>内容:问题已经解决,谢谢各位,原因是open时共享模式未设置正确
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -