scanf を使用してスペースを含む入力文字列を取得するには、次のような呼び出しを使用します。
scanf("%[^\n]",str);
これは、改行までのすべての文字に一致します。しかし、scanf の別の呼び出しを見つけました。
scanf("%[ A-Za-z]",str);
私にとっては両方とも正常に動作しています!しかし、2つの違いは何なのかわかりません!?
スペースを含む文字列を処理する場合、どの方法を使用すればよいですか?
2つの違いは何ですか!?
1 つ目は改行文字まですべてをスキャンし、2 つ目は文字とスペースのみをスキャンします。
スペースを含む文字列を処理する場合、どの方法を使用すればよいですか?
どちらも、fgets()
代わりに見てください:
char buf[LINE_MAX];
fgets(buf, sizeof(buf), stdin);