我知道如何使用SetFileAttributes函数在Windows上设置文件属性。 但我想知道是否有本机C / C ++函数也能做到这一点?
答案 0 :(得分:11)
不,没有。标准C ++和标准C都没有指定这样的功能。
这样做的原因是,在不同的操作系统中,该区域的功能很少见。例如,类UNIX操作系统具有“可执行”属性,而类似Windows的操作系统使用文件扩展名来确定可执行性。
答案 1 :(得分:4)
在Windows上有一个_chmod函数,它模仿Unix上chmod函数的行为。
答案 2 :(得分:4)
如果是“native”,你的意思是在C标准库中,那么没有。文件“属性”是特定于操作系统的扩展,因此不会出现在任何标准功能集中。如果我们愿意将我们的权限扩展到POSIX,那么就有像fchmod这样的函数,但这只能处理UNIX样式文件模式,这些模式不像Windows文件属性那样具有表现力。
一般情况下,您可以通过说“如果STANDARD仅存在于操作系统,则可以回答”是否存在标准功能/对象来执行特定于操作系统的事物“的任何问题。否则,不会。”
答案 3 :(得分:0)
对于C ++,您可以尝试boost::filesystem。