日本語でもfgets関数の使い方、C言語でfgets関数

『fgets』関数は、C言語で指定したストリームから 1行分のデータを読み込む関数です。プロトタイプは次のようになります:

char *fgets(char *str, int n, FILE *stream);

fgets 関数の 3 つのパラメータは以下の通りです:

  1. str:読み取りデータの格納に使用される文字列ポインタ。
  2. n: 整数値。最大読み取り可能文字数を指定。終端文字\0も含む。
  3. ストリーム:ファイルポインタ。どのストリームからデータを読み取るかを示します。stdin(標準入力)、stdout(標準出力)、ファイルポインタなどがよく使われます。

fgets関数は、指定されたストリームから改行文字’\n’、ファイル終了文字EOF、またはn-1文字のいずれかを最初に読み取るまで文字を読み込みます。読み込まれた文字は、strが指す文字配列に格納され、最後に終端文字’\0’が追加されます。

fgets関数は読み取られた文字列配列へのポインタを返します。読み取りに失敗するとNULLを返します。

fgets関数を使用する際には、以下の点に注意が必要です。

  1. fgets 関数は、読み取った改行文字も文字配列に格納するため、改行文字を読み取ったかどうかを自分で判断し、必要な場合は削除する必要があります。
  2. 改行文字を読み込むので`fgets`関数は読み込んだ改行を残すため、文字列の比較を行う時は改行の存在に注意する必要がある。
  3. fgets関数で返される文字列には余分な空白が含まれる場合があるので手動で処理する。

fgets関数を使用して標準入力から1行のデータを読み込むサンプルを次に示します。

#include <stdio.h>
int main() {
char str[100];
printf("Please enter a string: ");
fgets(str, sizeof(str), stdin);
printf("You entered: %s", str);
return 0;
}

このプログラムはユーザに文字列を入力するように求め、fgets 関数を使用して標準入力から文字列を読み取り、それを表示します。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds