STATUS_ACCESS_VIOLATION 在 C 中使用 fprintf 时(使用弹出框授予管理员权限)

STATUS_ACCESS_VIOLATION when using fprintf in C (granting admint rights with pop-up box)

我是 C 语言的新手,这是我的第一个程序

当我选择 C:/Windows/System32/log.txt 作为写入路径时,我得到 STATUS_ACCESS_VIOLATION,另一方面,当我选择写入与 .exe 文件相同的目录时,一切正常.经过一番研究后,我认为它必须与这条线有关

FILE *fp ;

当我调试代码时,调试器在

处崩溃
fp = fopen("C:/Windows/System32/log.txt", "a+");

代码


#include <stdio.h>
#include <string.h>
#include <unistd.h> 
#include <stdlib.h>
#include <windows.h>
#include <time.h>

void main()    
{
    FILE *fp ;  
    clock_t tic = clock();

    fp = fopen("C:/Windows/System32/log.txt", "a+");                                     
    fprintf(fp, "TEXT \n");
    fclose(fp);  

    clock_t toc = clock();
    double time = (double)(toc - tic) / CLOCKS_PER_SEC;
    char text[255]; 
    sprintf(text, "The program did %f s to complete", time);
    MessageBox(0, text, "Duration", MB_OK);
}

经过 pranav 的提示(运行 作为管理员的 .exe)它现在可以解决下一个问题:是否可以在程序开始时请求用户的许可,以便它可以 运行 具有管理员权限

只允许管理员用户将文件写入 C:/Windows/System32/。

授予程序管理权限,或者您也可以 运行 以管理员身份通过 运行ning 程序进行编程。