fstream接受文件夹路径并且是(`good()== 1`)

时间:2013-04-24 15:48:08

标签: c++ fstream

#include<iostream>
#include<fstream>

int main()
{

std::string folderPath("./");

std::string fileFoo = folderPath + "";
std::string fileBar = folderPath + "nonexisting_file"; 

std::ifstream foo(fileFoo.c_str());
std::ifstream bar(fileBar.c_str());

std::cout << foo.good() << std::endl;
std::cout << bar.good() << std::endl;

}

输出:

1
0
  1. 流文件路径是一个目录是什么意思。
  2. 在这种情况下如何检查fstream是否可读,因为good()不起作用。
  3. 修改

    这似乎是相关的:

    平台:Linux(Ubuntu 12.04)

1 个答案:

答案 0 :(得分:2)

根据文件系统的不同,目录 可能很容易成为一种文件并且差别不大。并且,除非您使用某些第三方库,否则处理您尝试执行的操作将不依赖于平台,我强烈建议您使用boost::filesystem