C言語でファイルを作成する方法を教えてください
C言語でファイルを作成する方法は主に2つあります。
- 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 関数を使用して閉じます。
- 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) をインクルードする必要があります。