⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_17179.htm

📁 一些关于vc的问答
💻 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>&nbsp;&nbsp; CStdioFile TxtFile;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//创建情话数据文件,保存路径设为主执行程序所在路径<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!TxtFile.Open(strPath+ "\\lovepet.dat", CFile::modeCreate | CFile::modeWrite | CFile::typeText))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString strErrorMessage;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strErrorMessage = "创建情话数据文件: "+strPath+"lovepet.dat 失败 !";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(strErrorMessage);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//写入情话文件名(不含路径,及默认当前路径,好一起发给对方)和文字表达<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(strWavFile!="" && m_TextDescription!="")<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString(strWavFile);<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString ("$$$");<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString (m_TextDescription);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else if(m_TextDescription!="")<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString ("$$$");<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString (m_TextDescription);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString(strWavFile);<BR>&nbsp;&nbsp;&nbsp;&nbsp; TxtFile.WriteString ("$$$");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;TxtFile.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>void CCustomWavFile::OnCancel() <BR>{<BR>&nbsp;&nbsp;CStdioFile TxtFile;<BR><BR>&nbsp;&nbsp;//情话数据文件存在,则删除它<BR>&nbsp;&nbsp;if (TxtFile.Open(strPath+"\\lovepet.dat", CFile::modeRead|CFile::typeText))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TxtFile.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;//在恢复原始情话时,删除自定制情话数据文件<BR>&nbsp;&nbsp;&nbsp;&nbsp;TxtFile.Remove(strPath+"\\lovepet.dat");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp; {<BR>#ifdef _DEBUG<BR>&nbsp;&nbsp; afxDump &lt;&lt; "File could not be opened " &lt;&lt; e.m_cause &lt;&lt; "\n";一定要加上调试信息看一下,这可是编程的习惯问题<BR>#endif<BR>&nbsp;&nbsp; }<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 + -