菜问题:如何用一个函数判断一个文件是否已经存在? #define IsFileExist(lpszFileName) (::GetFileAttributes((lpszFileName)) != 0xFFFFFFFF) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用FindFirstFile()或CFile::Open()如果是FALSE 册没有 方法很多啊:1.WIN32_FIND_DATA wfd;HANDLE hFind = FindFirstFile("myfile.txt",&wfd);if (hFind!=INVALID_HANDLE_VALUE) // File Exists2.CFileStatus fs;if (CFile::GetStatus("myfile.txt",rs)) // File Exists3.用OPEN_EXISTING标志调用CreateFile,如果成功说明文件存在. FILE *fp;if (fp=fopen("filename.???","r")==NULL) { //文件不存在时的代码 }else { //文件存在时的代码 } to cb1010,呵呵呵,看来你跟俺一样还停留在DOS程序设计时代,你用的好像是高层次I/O(即缓冲型的输入输出),我来个低层I/O(非缓冲型)吧:)....void main(int argc,char *argv[]){int fdr;if((fdr=open(argv[1],O_RDONLY))<=0) { printf("File %s doesn't exist!",argv[1]); exit(1); }else { printf("file %s does exist!",argv[1]); exit(1); }.....} VC中有一个CFileFind类,用他的成员函数CFileFind::FindFile可以判断指定文件是否存在(该函数返回值为BOOL型)。此类包装了YuHao提到的以及其他文件查找API,用起来比较容易:)。wyzegg也有提到此类。 BOOL IsFileExist(CString strFileName){ CFileStatus status; if ( !CFile::GetStatus(strFileName, status) ) return FALSE; if ( status.m_size <= 0 ) return FALSE; return TRUE;} if (0 != access(strFileName,0)){ //文件不存在时的代码}else{ //文件存在时的代码} 就用最经典的ANSI C++就够了嘛,ifstream流. Windows API的OpenFile有一个标志是专门用来测试一个文件是否存在的:OF_EXIST 如何获取RAID磁盘物理序列号? 帖子追问功能 200分相送,socket相关函数解惑. 各位大哥有礼了~帮帮小弟把~急死我拉~ 下载文件时写文件的问题.... 怎么把char FAR *buf 转换为:const BYTE *inbuf 我想在按钮上载入三张位图。开始一张,鼠标移上去是另一张,鼠标按下去又是再一张。急!!! 快帮帮我吧 怎样在MainFrame里访问MDI中当前的View的成员变量。谢谢 我该怎么 办???/// 调整ActiveX控件的初始大小? 一个关于vc的小问题,请各位高手指点一下
或
CFile::Open()如果是FALSE 册没有
1.WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile("myfile.txt",&wfd);
if (hFind!=INVALID_HANDLE_VALUE) // File Exists
2.CFileStatus fs;
if (CFile::GetStatus("myfile.txt",rs)) // File Exists
3.用OPEN_EXISTING标志调用CreateFile,如果成功说明文件存在.
if (fp=fopen("filename.???","r")==NULL)
{
//文件不存在时的代码
}
else
{
//文件存在时的代码
}
....
void main(int argc,char *argv[])
{
int fdr;
if((fdr=open(argv[1],O_RDONLY))<=0)
{
printf("File %s doesn't exist!",argv[1]);
exit(1);
}
else
{
printf("file %s does exist!",argv[1]);
exit(1);
}
.....
}
{
CFileStatus status; if ( !CFile::GetStatus(strFileName, status) ) return FALSE;
if ( status.m_size <= 0 ) return FALSE; return TRUE;}
//文件不存在时的代码
}
else{
//文件存在时的代码
}