无法使用代码块创建数据文件

can not create data file using code blocks

我已经编写了创建数据文件的代码。在 if-else 块中执行 else 块,但文件未在所需位置创建。为什么会这样?

#include <stdio.h>

int main() {
   FILE *fptr;

   fptr = fopen("C:\test.txt", "w");
   if(fptr == NULL) // codition when file is not created
   {
       printf("File can not be created. \n");
   }
   else
   {
       printf("file has been successfully created. \n");

   }
   //fputs(string, file_pointer_variable)
   fputs("my first write to file", fptr);
   fclose(fptr);
   return 0;
}

您的问题可能属于 writing/creating 中 c:\

中的一个文件的 permissions/rights

必须更改您的代码以避免在 fopen 失败时使用该文件,例如:

#include <stdio.h>

int main(void) 
{
   FILE *fptr;

   fptr = fopen("C:\test.txt", "w");
   if(fptr == NULL) // codition when file is not created
   {
       perror("fopen error: ");
       return 1;
   }
   else
   {
       printf("file has been successfully created. \n");
       fputs("my first write to file", fptr);
       fclose(fptr);
   }
   return 0;
}

如您所见,我使用了 perror 可以添加有关 fopen 函数发生错误的信息。