在c ++中检查文件是否只读

时间:2018-01-15 11:05:06

标签: c++ windows winapi readonly

我想在c ++ for windows systems

中检查.ini文件是否只读

例如:

if(file == readonly){
  //Do this
}

到目前为止,我已经尝试过这个并且它有效:

ofstream ofs(filename); //test to see if the file successfully opened for writing or not

但结果它将删除.ini文件并将文件留空

PS: 1.不是重复的 2.我在互联网上搜索过,我发现了一些可能有效的例子,但结果并没有按照他们的意愿进行编译。

1 个答案:

答案 0 :(得分:6)

如果您使用的是Windows,则可以使用:

DWORD attr = GetFileAttributes(filename);
if (attr != INVALID_FILE_ATTRIBUTES) { 
    bool isReadOnly = attr & FILE_ATTRIBUTE_READONLY; 
}