1
我試圖編譯和VS 2010的命令行運行一個簡單的程序:的fopen 在C fopen_s編制,並通過命令行運行時
#include <stdio.h>
int main(){
FILE* file;
errno_t err;
err = fopen_s(&file,"file.txt", "w");
if(err != 0){
printf("FAIL error = %d \n", err);
return -1;
}
fclose(file);
return 0;
}
當我運行VS 2010這個代碼,它但是當我嘗試在命令提示符下編譯並運行時,我得到了13的錯誤(在編譯成功後)。 任何想法? 感謝
如果你使用類似printf("%s\n", strerror(13));
,你會看到消息
首先使用例如['strerror'](http://en.cppreference.com/w/c/string/byte/strerror)得到一個可打印的錯誤字符串,這將使它更容易找出問題可能是什麼。 –
另外,從命令行運行時,您確定您具有當前目錄的寫入權限嗎? –
嘗試更改訪問權限以讀取:'err = fopen_s(&file,「file.txt」,「r」);'如果您沒有這樣的錯誤,那麼您似乎沒有權限修改該文件。可以通過以管理員身份運行命令行來修復。 – mihai