关于在c++ for循环中检查文件是否存在
regarding file existence check within a for loop in C++
我正在尝试检查文件是否存在,如果存在则继续执行任务,如果不存在则输出没有这样的文件。我已经在其他代码中这样做了,但它似乎不与我当前的代码工作。
它的基本内容是:
count=argc;
for(i=0; i < count-1; i++)
{
filename[i] = argv[i+1];
}
for( i=0; i < count-1; i++)
{
int tempi=i;
ifstream infile(filename[i].c_str());
if(infile)
{
//do things
}
else
{
cout<<"no file"<<endl;
}
您需要呼叫infile.is_open()
。另外,如果文件存在,您是否打算对它做些什么?
访问argv的规范方式是:
int main( int argc, char * argv[] ) {
for ( int i = 1; i < argc; i++ ) {
// do something with argv[i]
}
}
infile
,在条件中,当流处于"bad"状态时,计算结果为false
。
然而,仅仅打开文件失败并不会使流处于坏状态(欢迎来到c++ !)只有在尝试从流中读取后,此机制才会为您工作
幸运的是,您可以使用infile.is_open()
显式地测试流是否打开。
编辑
以上是不正确的
测试流状态就足够了,我看不出你的代码有什么问题。
相关文章:
- 如何检查文件是否已存在于 fstream C++中
- 如何使用 ifstream 检查文件中变量的类型?
- 如何检查文件复制和写入是否成功
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 检查文件是否具有Windows c ++的可执行权限
- 检查文件在 c++ 中是否为只读
- 检查文件是否在 Makefile 中使用某些标志进行编译
- 如何检查文件或目录是否为'system'文件或目录
- 检查文件是否稀疏
- 检查文件是否仅包含Whitespace C
- C++检查文件存在而不打开它
- 如何在Visual Studio c ++ 2010中使用stat检查文件是否存在
- 检查文件是否是C++中的命名管道 (fifo)
- 如何检查文件的损坏
- 通过ReadFile()函数阅读文件时检查文件末端
- 检查文件在n分钟内存在一次c++
- 循环检查文件是否存在并对其进行处理
- 我想知道是否有任何功能或方法可以首先检查文件是否已创建
- qt检查文件中是否存在文件,如果它没有提示用户输入其位置,则将文件复制到程序工作目录
- 检查文件任务前 C/CPP 窗口