putsとgets関数の使い方はなんですか?
C言語では、putsとgetsは、文字列の入出力に使用される2つの標準ライブラリ関数です。
- puts関数のプロトタイプ:int puts(const char *str);
- 関数の機能:null文字で終わる文字列を標準出力に出力し、自動的に改行を末尾に追加します。
- strは出力する文字列です。
- 戻り値: 成功した場合は非負の値を返し、失敗した場合はEOFを返す。
サンプルコード:
#include <stdio.h>
int main() {
char str[] = "Hello World!";
puts(str); // 输出Hello World!
return 0;
}
- 関数プロトタイプ:char *gets(char *str);
- 関数の機能:標準入力(キーボード)から1行の文字列(空白を含む)を読み取り、それを改行文字に遭遇するまで、strが指す文字配列に保存する。
- パラメータ:strは入力文字列を格納するための文字配列です。
- 返り倀:成功すればstrを返し、失敗すればNULLを返します。
注意:gets関数はセキュリティの問題があり、バッファオーバーフローを引き起こす可能性があるため、実際のアプリケーションで使用することはお勧めされません。代わりにfgets関数を使用することをお勧めします。
サンプルコード:
#include <stdio.h>
#define SIZE 100
int main() {
char str[SIZE];
printf("Enter a string: ");
gets(str); // 从键盘读取字符串,存储到str中
printf("You entered: %s\n", str);
return 0;
}
gets関数の代わりにfgets関数を使用することをお勧めします。これにより、プログラムのセキュリティが向上します。