putsとgets関数の使い方はなんですか?

C言語では、putsとgetsは、文字列の入出力に使用される2つの標準ライブラリ関数です。

  1. puts関数のプロトタイプ:int puts(const char *str);
  2. 関数の機能:null文字で終わる文字列を標準出力に出力し、自動的に改行を末尾に追加します。
  3. strは出力する文字列です。
  4. 戻り値: 成功した場合は非負の値を返し、失敗した場合はEOFを返す。

サンプルコード:

#include <stdio.h>

int main() {
    char str[] = "Hello World!";
  
    puts(str); // 输出Hello World!
  
    return 0;
}
  1. 関数プロトタイプ:char *gets(char *str);
  2. 関数の機能:標準入力(キーボード)から1行の文字列(空白を含む)を読み取り、それを改行文字に遭遇するまで、strが指す文字配列に保存する。
  3. パラメータ:strは入力文字列を格納するための文字配列です。
  4. 返り倀:成功すれば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関数を使用することをお勧めします。これにより、プログラムのセキュリティが向上します。

bannerAds