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 程序进行编程。
我是 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 程序进行编程。