C言語において、文字列を一つずつ読む方法は何ですか?

C言語では、scanf関数を使って文字列を一つずつ読み込むことができます。以下はサンプルコードです:

#include <stdio.h>

int main() {
    char str[100];

    printf("请输入字符串:\n");

    while (scanf("%s", str) != EOF) {
        printf("读取的字符串是:%s\n", str);
    }

    return 0;
}

このコードでは、char型の配列strを使用して読み込んだ文字列を格納しており、配列のサイズは100で、必要に応じてサイズを調整できます。

scanf関数の%sフォーマット指定子は文字列を読み取り、空白、タブ、改行を無視して、指定された配列に文字列を保存します。scanf関数は正常に読み取られた文字列の数を返し、読み取りが失敗した場合やファイルの終端に達した場合はEOFを返します。

例文中、我々は、連続して文字列を読み取るためにwhileループを使用し、scanf関数がEOFを返すまでループを続ける。

scanf関数は、空白、タブ、改行文字に出会うと、文字列の読み込みを停止する点に注意してください。そのため、空白を含む文字列を読み取ることはできません。空白を含む文字列を読み取る必要がある場合は、fgets関数や独自の読み取り関数を使用して実現することができます。

bannerAds