我试图写一个文件,但是,文件指针总是指向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

07-24 20:42