1.获取执行文件的路径
用函数GetModuleFileName
2.获取执行文件所在目录的方法
CString sFile,sPath;
//获取主程序所在路径,存在sPath中
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('''');
sPath=sPath.Left (nPos);
sFile = sPath + ; // 将被读取的文件名
3.判断文件是否存在的几种方法
BOOL CPubFunc::FileExist(CString FileName)
{
CFileFind fFind;
return fFind.FindFile(FileName);
}
BOOL CPubFunc::DirectoryExist(CString Path)
{
WIN32_FIND_DATA fd;
BOOL ret = FALSE;
HANDLE hFind = FindFirstFile(Path, &fd);
if ((hFind != INVALID_HANDLE_VALUE) && (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
//目录存在
ret = TRUE;
}
FindClose(hFind);
return ret;
}
BOOL CPubFunc::CreateDirectory(CString path)
{
SECURITY_ATTRIBUTES attrib;
attrib.bInheritHandle = FALSE;
attrib.lpSecurityDescriptor = NULL;
attrib.nLength = sizeof(SECURITY_ATTRIBUTES);
return ::CreateDirectory( path, &attrib);
}
推荐ASP超速入门视频教程
CLAUDE.md 引入 AGENTS.md,Codex 与 Claude Code 会共享同一套规则吗?
借助 AI 梳理陌生代码库:一套分阶段项目导览流程
从 LangChain 迁移到 LangGraph:重构 RAG 知识库流程
读完开源 AI Agent 源码,我重新审视了文件验收机制
从字符串约定到 LangChain:拆解 LLM 的 Tool Calling 流程