C visual studio fopen崩溃

C visual studio fopen崩溃,c,visual-studio-2012,visual-c++,c99,C,Visual Studio 2012,Visual C++,C99,我有一个应用程序,它使用标准的fopen函数以写模式打开文件 fp = fopen(fName, "w"); if (fp){ <some functions/print statements> } fp=fopen(fName,“w”); if(fp){ } 调试时,在open.c文件(内置VC编译器的一部分)的函数CreateFileW()中退出应用程序。它不会达到代码本身中的if条件,也不会返回任何错误代码 据我所知,MS编译器抱怨fopen和其他类似的函数。

我有一个应用程序,它使用标准的fopen函数以写模式打开文件

   fp = fopen(fName, "w");
    if (fp){
<some functions/print statements>
}
fp=fopen(fName,“w”);
if(fp){
}

调试时,在open.c文件(内置VC编译器的一部分)的函数CreateFileW()中退出应用程序。它不会达到代码本身中的if条件,也不会返回任何错误代码

据我所知,MS编译器抱怨fopen和其他类似的函数。根据微软的说法,你应该使用fopen_s(_s代表安全)。您还可以尝试对文件路径进行硬编码,以检查fName变量是否存在问题。
fName
是否有合适的终止符?
fName
是否等于
NULL
?您能否提供一个MCVE,我们可以用它来复制故障?有两种可能性。1) 在代码中的这一点之前,您的程序具有未定义的行为。2) 在给定路径上存在某种权限问题或文件系统不兼容。要选中1),请将带有硬编码路径的
fopen
放在
main
的开头。要选中2),请尝试使用文本编辑器创建该文件。