C 由另一个应用程序运行时fprintf不工作

C 由另一个应用程序运行时fprintf不工作,c,printf,C,Printf,我有一个C控制台应用程序,可以将文本写入文件: FILE *f; f = fopen("out", "w"); fprintf(f, "%s","My Text"); rewind(f); fclose(f); 当我从资源管理器运行它时,它工作正常,但当我使用另一个应用程序运行它时,文件不会创建,文本也不会保存 即使拥有管理员权限 有人能帮我吗?您的out文件是一个相对路径,可以设置为您的第三方应用程序目录。或者它将当前目录更改为其他目录,从而导致您的应用程序保存在那里?如果您不确定

我有一个C控制台应用程序,可以将文本写入文件:

 FILE *f;
 f = fopen("out", "w");
 fprintf(f, "%s","My Text");
 rewind(f);
 fclose(f);
当我从资源管理器运行它时,它工作正常,但当我使用另一个应用程序运行它时,文件不会创建,文本也不会保存

即使拥有管理员权限


有人能帮我吗?

您的
out
文件是一个相对路径,可以设置为您的第三方应用程序目录。或者它将当前目录更改为其他目录,从而导致您的应用程序保存在那里?如果您不确定,您可以始终尝试将绝对路径传递给
输出文件。

不要以管理员身份运行,请设置一个新的非特权帐户(不是您的普通帐户)来运行您的C实验。请输入一个绝对文件名,如
“C:\\out”
(windows)或
“/home/out”
(linux),为了避免在其他应用程序工作目录中创建
out
,工作目录可以是您当前的工作目录。程序可能正在或试图写入意外位置。旁注:我认为您不需要回放。您可能需要测试调用
fopen()
的结果。失败时返回
NULL
。这正是问题所在!非常感谢你!