C言語の文字列入力方法には、どんなものがありますか?
C言語で文字列を入力する方法は次のようにいくつかあります:
- scanf()関数の使用:scanf()関数を使って標準入力から文字列を読み込むことができます。例えば、
char str[100];
scanf("%s", str);
- fgets() 関数を使用すると、標準入力ストリームから1行の文字列を読み取ることができます。例:
char str[100];
fgets(str, 100, stdin);
- gets()関数の使用:gets()関数の使用はお勧めしませんが、標準入力ストリームから一行の文字列を読み取るためにも使用できます。例えば:
char str[100];
gets(str);
- getchar()関数の使用:getchar()関数を使用して、入力を1文字ずつ読み取ることができます。改行文字が出るまで続けられます。例えば:
char str[100];
int i = 0;
char c;
while ((c = getchar()) != '\n') {
str[i++] = c;
}
str[i] = '\0';
gets() 関数を使用する際は、入力される文字列のサイズが配列のサイズを超えないように注意してください。そうでないと、バッファオーバーフローが発生する可能性があります。fgets() 関数は比較的安全性が高いため、おすすめです。