以非管理员身份在 Windows 上的 C 中检查上次文件修改时间
Checking last file modified time in C on Windows as a non-admin
我正在编写一个 C/C++ 应用程序,我需要比较两个文件的上次修改时间,一个在安装目录中(即由系统拥有,具有系统/管理员的 wrx 权限,没有其他人),另一个在用户可写空间中。 我尝试使用 C 函数 stat(文件名,&st) 来检查上次修改时间,但当程序以管理员身份运行时,它只在安装目录中找到了文件的正确时间。 我的理解是,stat 需要在目录中执行权限才能运行。
那么,在 C/C++ 中,非管理员如何确定安装目录中文件的上次修改时间?
事实证明,stat 实际上是在工作,但它实际上是在查看安装目录中的文件,而是在查看
C:\Users\\AppData\Local\VirtualStore\
这是一个较旧的文件。 当程序以管理员身份运行时,它会在实际目录中查找。 我能够通过删除虚拟商店中的文件来解决我的问题。
另一种解决方法是启动系统进程以在命令行运行 stat。 我能够以这种方式直接使用 stat 访问文件,而在源代码中使用 stat 导致 Windows 重定向到该文件的 VirtualStore 版本。
相关文章:
- 如何检查文件是否已存在于 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 窗口