VC如何获取系统目录并检测文件是否存在

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:44:08
需要完整的代码,包括#include那开始,网上有很多用不了,拷的代码出错。
作业
VC如何获取系统目录并检测系统目录下的123.txt是否存在,如果存在则删除。
感谢Sadusaga的回答:
我自己也找到了解决方法,希望能帮助需要的人。
WCHAR sysDir[MAX_PATH];
WCHAR drvName[]=L"\\123.txt";
::GetSystemDirectory(sysDir, MAX_PATH);
wcscat(sysDir,drvName);
这样就不会报错了,感谢你,分送给你了。

#include "windows.h"

int main( int nargc, char** pArgv )
{
WCHAR szPath[MAX_PATH];
// 获得系统目录
GetWindowsDirectoryW( szPath, sizeof(szPath) );
// 格式化文件路径
wcscat( szPath, L"\\123.txt" );

WIN32_FIND_DATA wfd;
if ( INVALID_HANDLE_VALUE != FindFirstFileW( szPath, &wfd ) )
{
DeleteFileW( szPath ); // 如果存在则删除
}

return 0;
}

补充:
原来你是用宽字符,按以上修改。

其实Windows提供了这个API的。

#include<shlwapi.h>
#pragma comment(lib,"shlwapi")
void main()
{
char szDstFile[MAX_PATH]={0};
GetSystemDirectory(szDstFile,MAX_PATH);
lstrcat(szDstFile,"\\123.txt");//构造出文件路径,在我的机子上是C:\WINDOWS\system32\123.txt
if(PathFileExistsA(szDstFile))
MessageBox(NULL,"文件存在!","",0);
else
MessageBox(NULL,"文件不存在!","",0);
}

GetWindows