我在打开基本文件时遇到了一些麻烦。我无法成功启动文件流。它不断回归NULL ......谁能告诉我我缺少什么?我在源代码所在的目录中创建了一个“test.dat”文件。
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
if((cfPtr = fopen("test.dat", "rb+")) == NULL) {
printf("File could not be opened.\n");
}
return 0;
}
答案 0 :(得分:1)
尝试将test.dat
文件移动到编译的.exe所在的目录,或者如果应用程序的当前目录位于其他位置,请将该文件放在该目录中。
答案 1 :(得分:1)
当您尝试打开文件时,您的操作系统将查看当前目录的进程。这可能与源文件所在的目录相同,也可能不同,具体取决于您的操作系统和/或IDE。
答案 2 :(得分:1)
您使用的是Visual Studio吗?您必须将test.dat
放入Debug
目录。在较新版本中有两个调试目录,您必须自己检查。
答案 3 :(得分:1)
您可以使用errno来获取有关出错的提示:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h> /* new */
int main (void)
{
if((cfPtr = fopen("test.dat", "rb+")) == NULL) {
printf("File could not be opened.\n");
printf("Errno = %d\n, errno) ; /* new */
}
return 0;
}