[英]Simple fopen and fprintf not working
我有一個簡單的程序,可以打開文件並將文本寫入文件。 但是,fopen總是返回BadPtr
如在Microsoft Visual c++, 2010
中的調試模式下所見。
以下是VS C++, 2010
顯示的警告:
mysample\mysample\main.c(6): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(234) : see declaration of 'fopen'
我認為警告是一個問題,並使用了fopen_s
,但這也不能解決問題。 下面是我的代碼:
#include <stdio.h>
int main()
{
FILE *fp;
fp=fopen("c:\\hello.txt","w+");
if(fp==NULL)
{
printf("\nfopen() error\n");
return 1;
}
else
{
fprintf(fp,"\nThis is a sample text file\n");
}
fclose(fp);
return 0;
}
在上面的代碼中,流沒有進入if(fp == NULL)
條件,而是進入else部分,但是沒有創建文件。
請幫助有關。
如果您沒有管理員權限
在編譯目錄中創建文件
fp=fopen("hello.txt","w+");
這將在mysample\\mysample
創建文件
您應該具有管理員權限,才能在C:\\
創建文件
如果您具有管理員特權,請打開命令“以管理員身份運行”,然后通過僅給出名稱來執行可執行文件。
如果使用文件名fopen.c
,則將得到fopen.exe
只需在命令提示符下運行fopen
,它將在C:\\
創建文件
您的代碼可以工作,但是如果要在C:\\
創建文件,則需要管理權限,請嘗試將文件保存在程序的同一文件目錄中,或者運行Administrator cmd
並在其中執行*.exe
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.