C言語での文字列入力の方法


  1. scanf関数を使用する方法:

    #include <stdio.h>
    int main() {
    char str[1000];
    
    printf("文字列を入力してください: ");
    scanf("%s", str);
    
    printf("入力された文字列は: %s\n", str);
    
    return 0;
    }
  2. fgets関数を使用する方法:

    #include <stdio.h>
    int main() {
    char str[1000];
    
    printf("文字列を入力してください: ");
    fgets(str, sizeof(str), stdin);
    
    printf("入力された文字列は: %s\n", str);
    
    return 0;
    }
  3. gets関数を使用する方法 (非推奨):

    #include <stdio.h>
    int main() {
    char str[1000];
    
    printf("文字列を入力してください: ");
    gets(str);
    
    printf("入力された文字列は: %s\n", str);
    
    return 0;
    }

これらの方法は、それぞれ異なる利点と制約を持っています。scanf関数は単純で使いやすいですが、空白文字を含む文字列を正しく処理することができません。fgets関数は空白文字を含む文字列も正しく処理できますが、改行文字も読み込んでしまうため、注意が必要です。gets関数は非推奨とされており、セキュリティ上の問題があるため、使用を避けることが推奨されています。

これらのコード例を参考にして、C言語での文字列入力を行う方法を理解し、必要に応じて利用してください。