>> C言語関数一覧トップに戻る

C言語 fgets 使い方

今回はC言語のfgets関数の使い方について説明します。

fgets関数はファイルから文字列を一行取得してくれる関数です。

■書式
#include <stdio.h>
char *fgets(char *s, int n, FILE *fp);

第一引数は文字配列のポインタ
第二引数は一行の最大文字数
第三引数はファイルポインタ

をそれぞれ指定する。
第二引数の最大文字数には末尾の\0も含まれるので、
実際に取得できる文字数は「最大文字数-1」になる。

また、ファイルからだけでなく標準入力からも文字列を受け取ることが出来る。
標準入力を指定する場合はファイルポインタに「stdin」と書く。
■サンプルコード
#include <stdio.h>

int main(void)
{

	FILE *fp;
	char buf[50];

	fp = fopen("test.txt","r");

	fgets(buf,30,fp);

	puts(buf);

	fclose(fp);

	//標準入力からも受け取れる。
	puts("文字列を入力してください。");
	fgets(buf,30,stdin);

	//最後に自動的に改行文字が入る
	printf("入力した文字列は→%s",buf);


		
	return 0;
}
■実行結果
test

文字列を入力してください。
aiueo
入力した文字列は→aiueo



ファイルには、

test
123
456

という文字列が書き込んであるので、まず「test」という文字列が表示されます。
その後標準入力で「aiueo」という文字列を受け取り、表示しています。
非常によく使う関数なのでしっかり覚えておきましょう。
>> 【C言語 fputs 使い方】に進む
>> C言語関数一覧トップに戻る