我在C新手,這是我第programms的一個STATUS_ACCESS_VIOLATION通過在C fprintf中時(授予與彈出框admint權)
我得到一個STATUS_ACCESS_VIOLATION當我選擇C:/在Windows/System32下/log.txt作爲寫入路徑,另一方面,當我選擇在與.exe文件相同的目錄中寫入時,一切正常。一個小小的研究後,我認爲它會是一些與這條線
FILE *fp ;
當我在
fp = fopen("C:/Windows/System32/log.txt", "a+");
CODE
#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作爲dministrator)它的工作現在是下一個問題:是否有可能在程序開始時詢問用戶的權限,以便它可以使用管理員權限運行
它必須是權限issue.Try以管理員身份運行程序。 – pranav
是的,它確實現在工作 – AXANO
我會推薦一種更安全的方式:將日誌存儲在其他地方。從安全角度來看,以管理員身份運行程序並不是一個好主意,除非您真的必須 – Emil