scanf() 関数で無限型指定子 (%c) を使用したい。
例えば-
printf("Enter characters: \t");
scanf("--SPECIFIERS--");
したがって、ユーザーが入力する文字数は明確ではありません。プログラムでユーザーに「文字数」を尋ねたくない..しかし、文字数を許可したい。ただし、scanf() で %c を無限に入力することはできません。誰かがCでそれを行う方法を教えてもらえますか?
scanf() 関数で無限型指定子 (%c) を使用したい。
不特定の量のデータを読み取りたい。あなたが試すことができるいくつかのアプローチがあります:
getline(3)
関数を使用する関数ファミリでPOSIX 標準m
の割り当て-割り当てを使用するscanf()
char *str;
scanf("%m[^\n]", &str);
入力を一度に 1 文字ずつ読み取り、バッファを拡張します。これを行うだけで、stackoverflowに浮かぶいくつかの関数があります
最初の 2 つは、必要なメモリも割り当てますfree(3)
。
%s
の修飾子として使用しscanf
ます。以下のように言及されているもの:
scanf("%s",buf);
buf のタイプは次のとおりです。
char buf[100];