subject_21344.htm
来自「一些关于vc的问答」· HTM 代码 · 共 24 行
HTM
24 行
<p>
序号:21344 发表者:南南 发表日期:2002-11-16 11:06:08
<br>主题:关于文件存储路径的问题
<br>内容:我想把文件存储在应用程序可执行文件的当前目录下,在文档存储时<BR>操作如下,其路径为当前目录<BR>BOOL CDrawDoc::OnSaveDocument(LPCTSTR lpszPathName)<BR>{<BR> ........<BR> m_FileName = "file1";<BR> return CDocument::OnSaveDocument(m_FileName);<BR>}<BR>每当我在程序中调用一个文件对话框并将目录转移到非应用程序可执行<BR>文件目录时,系统默认的当前路径已不是应用程序所在目录,文件也相应的<BR>存在了非应用程序所在目录<BR>如果我只想将文件固定存储在应用程序所在目录,并只采用相对路径的方式,<BR>应该怎么设置它的存储路径? <BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Half_C 回复日期:2002-11-16 15:20:00
<br>内容:lpszPathName中包含有文件的路径,CFile::GetFilePath()也可以得到文件的路径!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:目不识丁 回复日期:2002-11-16 15:26:00
<br>内容:用GetModuleFileName得到当前运行的EXE的位置,剩下的不就简单了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:TaShin 回复日期:2002-11-16 16:43:04
<br>内容:试试这个!<BR>]void GetPath(OUT TCHAR *sPath, LPCTSTR lpModuleName) <BR>{<BR> TCHAR sFilename[MAX_PATH];<BR> TCHAR sDrive[_MAX_DRIVE];<BR> TCHAR sDir[_MAX_DIR];<BR> TCHAR sFname[_MAX_FNAME];<BR> TCHAR sExt[_MAX_EXT];<BR> HMODULE hModule = NULL;<BR><BR> if (lpModuleName != NULL)<BR> hModule = ::GetModuleHandle(lpModuleName);<BR> GetModuleFileName(hModule, sFilename, _MAX_PATH);<BR> <BR> _tsplitpath(sFilename, sDrive, sDir, sFname, sExt);<BR><BR> _tcscpy(sPath, sDrive);<BR> _tcscat(sPath, sDir);<BR><BR> if(sPath[_tcslen(sPath) - 1] != _T('\\'))<BR> _tcscat(sPath, _T("\\"));<BR>}
<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 + =
减小字号Ctrl + -
显示快捷键?