我想查看C盘中是否存在文件..?谁能告诉我怎么样?
更新
我遇到了错误,我使用的是VC ++ 2008
#include "stdafx.h"
#include <stdio.h>
int main(int argc, _TCHAR argv[])
{
FILE * f = fopen("C:\\Program Files (x86)\\flower.jpeg");
if (f == NULL) {
file_exists = FALSE:
} else {
file_exists = TRUE;
fclose(f);
}
return 0;
}
更新2
尝试剪切和粘贴下面linked example中的代码时:
#include "stdafx.h"
#include <windows.h>
#include "Shlwapi.h"
int tmain(int argc, _TCHAR argv[])
{
// Valid file path name (file is there).
TCHAR buffer_1[ ] = _T("C:\\TEST\\file.txt");
TCHAR *lpStr1;
lpStr1 = buffer_1;
// Return value from "PathFileExists".
int retval;
// Search for the presence of a file with a true result.
retval = PathFileExists(lpStr1);
return 0;
}
我收到此错误:
files.obj : error LNK2019: unresolved external symbol __imp__PathFileExistsW@4 referenced in function _wmain
答案 0 :(得分:3)
这不是代码的问题,这是一个链接错误,正如它所说。 你应该将它添加到你的代码中,告诉链接器使用“shlwapi.lib”库。
#pragma comment( lib, "shlwapi.lib")
就我而言,它解决了问题。
在Windows中,没有_stat的东西。但幸运的是,您无需打开它来检查其有效性,PathFileExists
是您需要的确切功能。
答案 1 :(得分:2)
鉴于你提到C盘,我假设你可以使用Windows API,如果是这样PathFileExists(LPCTSTR)你会这样做
答案 2 :(得分:0)
当然 - 只需尝试打开它,看看它是否失败:
#include <stdio.h>
int file_exists = 0;
FILE * f = fopen("C:\\foo.dat", "rb");
if (f != NULL)
{
file_exists = 1;
fclose(f);
}
答案 3 :(得分:0)