😸
[C] gets 関数
機能
gets関数は、標準入力から1行の文字列を取得し、指定した配列に格納する関数です。[1]
使用例
Hello World
と表示する
\n
は改行を表す エスケープシーケンス[2]
コード
char buf[100];
gets(buf);
printf("%s\n", buf);
全文
#include <stdio.h>
void main() {
char buf[100];
gets(buf); // ← セキュリティ上、安全ではありません
printf("%s\n", buf);
}
実行結果
(※ユーザーが Hello World と入力した場合)
Hello World
入力した値を変数から表示する
コード
char str[256];
gets(str);
printf("入力値:%s\n", str);
全文
#include <stdio.h>
void main() {
char str[256];
gets(str); // ← 非推奨。バッファオーバーフローのおそれがあります
printf("入力値:%s\n", str);
}
実行結果
(※ユーザーが ABC123 と入力した場合)
入力値:ABC123
注意:
gets関数はバッファサイズを指定できず、安全性に重大な問題があります。代わりにfgets関数の使用を推奨します。[3]
Discussion