fgets関数の動作について説明してください。
fgets関数はC言語でファイルから1行文字列を読み取り、指定した文字配列に格納するために使われる入力関数です。
その声明は以下の通りです。
char *fgets(char *str, int n, FILE *stream);
パラメーターの説明:
- str: 文字列を読む文字を格納する文字配列を指すポインター。
- 桁あふれを防ぐために読み取ることができる文字の最大数(’\0′ のヌル文字を含む)
- stream: ファイルをリードするファイルストリームへのポインタ
fgets関数は、改行(改行を含む)またはn-1文字を読み込むまで、指定のファイルストリームから文字を読み込みます。または、ファイルの終わりに達します。読み込まれた文字は、strが指す文字配列に格納され、文字列の終了フラグとして末尾に「\0」が追加されます。
fgets関数の戻り値はstrへのポインタで、読み込みに成功するとstrの値が返り、読み込みに失敗(ファイルの末尾、エラーなど)するとNULLが返ります。
ネイティブな日本語で言い換えてください。1つの選択肢だけで結構です。
#include <stdio.h>
int main() {
char str[100];
FILE *file = fopen("example.txt", "r"); // 打开文件 example.txt 用于读取
if (file != NULL) {
if (fgets(str, sizeof(str), file) != NULL) {
printf("读取的内容:%s", str);
}
fclose(file); // 关闭文件
}
return 0;
}
上記のサンプルコードでは、「example.txt」という名前のファイルを開いて読み込みます。その後、fgets関数を使ってファイルから1行を読み込み、文字配列strに格納し、最後に読み込んだ内容を出力します。この際、ファイルのオープン成功(file != NULL)とfgets関数の戻り値(NULLでない)をチェックする必要があります。
fgets関数はファイルから1行分の文字列を読み込み文字配列に格納するために使用される。C言語でよく利用される入力関数の1つ。