C言語でファイルを作成する方法を教えてください

C言語でファイルを作成する方法は主に2つあります。

  1. fopen関数を使用して
#include <stdio.h>

int main() {
   FILE *fptr;
   fptr = fopen("file.txt", "w");
   
   if (fptr == NULL) {
      printf("无法创建文件\n");
      return 1;
   }
   
   printf("文件创建成功\n");
   fclose(fptr);
   
   return 0;
}

提示されたコードでは、fopen 関数を使用して「file.txt」という名前のファイルを作成します。このとき、最初のパラメータとしてファイル名、2 番目のパラメータとして開くファイルのモードを指定します。「w」を指定すると上書きモードでファイルが開かれます。 fopen 関数は、ファイルの作成に成功した場合にファイルポインタを返し、失敗した場合に NULL を返します。ファイルは fclose 関数を使用して閉じます。

  1. creat関数を用いる。
#include <fcntl.h>
#include <stdio.h>

int main() {
   int fd;
   fd = creat("file.txt", 0644);
   
   if (fd == -1) {
      printf("无法创建文件\n");
      return 1;
   }
   
   printf("文件创建成功\n");
   close(fd);
   
   return 0;
}

コードでは、”file.txt”という名前のファイルをcreat関数で作成しています。第1引数はファイル名、第2引数はファイルのパーミッションです。 ファイルの作成が成功するとファイルディスクリプタ(ファイルハンドル)を返し、失敗すると-1を返します。 ファイルディスクリプタはclose関数で閉じます。

どちらの方法でも、stdio.h (方法1) もしくは fcntl.h (方法2) をインクルードする必要があります。

bannerAds