简单的fopen和fprintf无法正常工作

我有一个简单的程序,它打开一个文件并将文本写入文件。 但是,fopen总是返回BadPtrMicrosoft 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  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:\创建文件


如果你有管理员权限打开命令提示与运行管理员,然后通过给出名称执行你的可执行文件。

如果您使用filename fopen.c ,您将获得fopen.exe

只需从命令提示符运行fopen ,它将在C:\创建文件

您的代码有效,但如果您想在C:\创建文件,则需要管理员权限,尝试将文件保存在程序的同一文件目录中,或运行Administrator cmd并在那里执行*.exe