- file: 「file」は、C言語の標準ライブラリ関数であり、ファイルを開いてデータを読み込むための柔軟な方法です。以下に、「file」を使用したファイル入力の例を示します。
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("ファイルを開けませんでした。\n");
return 1;
}
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// ファイルから読み込んだデータを処理する
printf("%s", buffer);
}
fclose(fp);
return 0;
}
- fgets: 「fgets」もC言語の標準ライブラリ関数であり、文字列をファイルから読み込むための方法です。以下に、「fgets」を使用したファイル入力の例を示します。
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("ファイルを開けませんでした。\n");
return 1;
}
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
// ファイルから読み込んだデータを処理する
printf("%s", buffer);
}
fclose(fp);
return 0;
}
「file」と「fgets」の違いは、主に使い方と扱うデータの形式にあります。以下にそれぞれの特徴をまとめます。
-
file:
- バイナリデータやテキストデータなど、さまざまな形式のデータを読み込むことができる。
- ファイルを開くためには、
fopen
関数を使用し、ファイルポインタを取得する必要がある。 - ファイルポインタを使用して、
fread
やfgetc
関数などを使ってデータを読み込むことができる。
-
fgets:
- テキストデータのみを読み込むことができる。
fgets
関数を使用して、指定したバッファサイズに収まる文字列を一行ずつ読み込む。- ファイルポインタを使用せず、
fgets
関数自体がファイルからデータを読み込む。
どちらの方法を選ぶかは、読み込むデータの種類や処理のニーズによって異なります。ファイルの種類やサイズ、読み込み方法などを考慮して、適切な方法を選択してください。