我试图写一个文件,但是,文件指针总是指向null,好像文件不存在。该文件与输入文件位于同一目录中,输入文件被找到并写入。你知道为什么会这样吗?
FILE *vmoutput = NULL;
fopen("vmoutput.txt", "w");
// if file could not be opened return error
if(vmoutput == NULL)
{
printf("FILE COULD NOT BE FOUND\n");
return 1;
}
最佳答案
把代码改成:
存储并检查fopen
的返回值
报告实际错误
?
#include <stdio.h>
#include <string.h>
#include <errno.h>
...
FILE *vmoutput = fopen("vmoutput.txt", "w");
if (vmoutput == NULL) {
fprintf(stderr, "Can't open %s: %s\n", "vmoutput.txt", strerror(errno));
return 1;
}
现在,您的代码总是将
vmoutput
设置为NULL
。