fgets関数
は、文字列の入力を安全に行うための重要な関数です。
この記事では、C言語のfgets関数
の使い方について詳しく解説します。
記事を読むことで、fgets関数
の基本的な使い方や具体的な使用例、注意点と解決策について理解することができます。
初心者の方にもわかりやすく解説しているので、ぜひ参考にしてください。
fgets関数とは
fgets関数の概要
fgets関数
は、C言語で文字列を入力する際に使用される関数です。
この関数は、指定した文字数分だけ文字列を読み込み、指定した変数に格納します。
fgets関数
の基本的な構文は以下の通りです。
char *fgets(char *str, int size, FILE *stream);
- str: 文字列を格納するための配列へのポインタ
- size: 読み込む文字列の最大長(配列のサイズ)
- stream: 入力元のファイルポインタ(通常はstdin)
fgets関数
は、指定したサイズ-1文字までの文字列を読み込みます。
読み込んだ文字列は、改行文字(‘\n’)を含む場合も含まない場合も、指定した配列に格納されます。
fgets関数
の戻り値は、成功した場合には読み込んだ文字列の先頭アドレス(strの値)を返し、エラーが発生した場合やファイルの終端に達した場合にはNULLを返します。
以下に、fgets関数
の使用例を示します。
#include <stdio.h>
int main() {
char str[100];
printf("文字列を入力してください: ");
fgets(str, sizeof(str), stdin);
printf("入力された文字列は: %s", str);
return 0;
}
この例では、ユーザーに文字列の入力を促し、入力された文字列を表示しています。
fgets関数
を使うことで、指定した配列にユーザーからの入力を安全に格納することができます。
文字列を入力してください: Hello, World!
入力された文字列は: Hello, World!
fgets関数の基本的な使い方
fgets関数
は、C言語で文字列を入力する際に使用される関数です。
主に標準入力から文字列を読み込むために利用されます。
fgets関数の仕様
fgets関数
の仕様は以下の通りです。
char *fgets(char *str, int n, FILE *stream);
- str: 文字列を格納するための配列へのポインタ
- n: 読み込む最大文字数(改行文字も含む)
- stream: 入力元のストリーム(通常はstdin)
fgets関数の引数
fgets関数
には3つの引数があります。
str
文字列を格納するための配列へのポインタ
fgets関数
は、読み込んだ文字列をこの配列に格納します。
n
読み込む最大文字数(改行文字も含む)
fgets関数
は、指定した最大文字数までの文字列を読み込みます。
改行文字も文字数に含まれます。
stream
入力元のストリーム(通常はstdin)
fgets関数
は、指定したストリームから文字列を読み込みます。
標準入力(コンソールからの入力)の場合は標準入力(stdin)を指定し、ファイルから読み取る場合はファイルポインタを渡します。
fgets関数の戻り値
fgets関数
の戻り値は、成功した場合には読み込んだ文字列を指すポインタを返します。
読み込む文字列がない場合やエラーが発生した場合にはNULLを返します。
以下はfgets関数
の基本的な使い方の例です。
#include <stdio.h>
int main() {
char str[100];
printf("文字列を入力してください: ");
fgets(str, sizeof(str), stdin);
printf("入力された文字列は: %s", str);
return 0;
}
この例では、ユーザーに文字列の入力を促し、入力された文字列を表示しています。
fgets関数
を使うことで、改行文字を含む文字列を安全に読み込むことができます。