gpt4 book ai didi

c++ - 简单的 fopen 和 fprintf 不工作

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:20 27 4
gpt4 key购买 nike

我有一个简单的程序,它可以打开文件并将文本写入文件。但是,fopen 始终返回 BadPtr,如在 Microsoft Visual c++, 2010 中的 Debug模式中所见。

下面是 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++ - 简单的 fopen 和 fprintf 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com