QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2021|回复: 5

在C++里怎样判断一个文件是否存在?

[复制链接]
发表于 2005-4-24 12:09:50 | 显示全部楼层 |阅读模式
ios::nocreate这个标志在C++标准里没有了,用不了……
 楼主| 发表于 2005-4-24 12:27:34 | 显示全部楼层
终于找到了:

The ios::nocreate setting did not make it into the ISO 14882:1998 C++
standard.  Too platform specific.

You can simulate that behavior with:

fstream foo("foo.txt", ios_base::in);
if(!fs) {
  // File does not exist.
  // Do not create one.
  }
else {
  foo.close();
  foo.open("foo.txt", ios_base:ut);
}

         Table 13.33. Meaning of Open Modes in C++
ios_base Flags              Meaning                              CMode
in                                   Reads (file must exist)        "r"
回复

使用道具 举报

发表于 2005-4-24 12:41:07 | 显示全部楼层
用QT很简单就能搞定了

[code:1]
#include <qfile.h>
#include <iostream.h>


int main(){
  if(QFile::exists("/path/to/file")){
         cout<<"File exists!"<<endl;
   }else{
         cout<<"File not exists!"<<endl;
   }

return 0;
}[/code:1]
回复

使用道具 举报

 楼主| 发表于 2005-4-24 13:24:04 | 显示全部楼层
楼上的,我希望用纯C++实现啊,用qt的话……
回复

使用道具 举报

发表于 2005-4-24 13:45:53 | 显示全部楼层
好像 fopen("file","r") 就可以检测了吧?
返回错误那就是打开失败(文件未建立),如果打开了,那就是文件已经有了
回复

使用道具 举报

 楼主| 发表于 2005-4-24 13:48:20 | 显示全部楼层
和这个一样:
fstream foo("foo.txt", ios_base::in);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 07:43 , Processed in 0.037041 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表