タグ付けされた質問 「scanf」



2
scanfで文字列を読み取る
私は何かについて少し混乱しています。Cの文字列を正しく読み取る方法はscanf()、 (バッファオーバーフローの可能性を気にしないでください。これは単なる例です) char string[256]; scanf( "%s" , string ); ただし、以下も機能するようです。 scanf( "%s" , &string ); これは私のコンパイラ(gcc)、純粋な運、または何か他のものですか?
147 c  scanf 

11
scanfを使用してスペースを入力するにはどうすればよいですか?
次のコードを使用します。 char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); ユーザーは、自分の名前を入力することができますが、彼らは次のようにスペースで名前を入力するとLucas Aardvark、scanf()直後にすべてを遮断しますLucas。scanf()スペースを許可する方法
129 c  string  printf  scanf  whitespace 

8
scanfの代わりに何を入力変換に使用できますか?
他の人に使用を思いとどまらせscanfたり、より良い代替案があると言ったりする人がよくいます。ただし、結局、「使用しないscanf」または「正しい形式の文字列はここにある」のいずれかであり、言及されている「より良い代替手段」の例はありません。 たとえば、次のコードスニペットを見てみましょう。 scanf("%c", &c); これは、最後の変換後に入力ストリームに残った空白を読み取ります。これに対する通常の提案された解決策は、使用することです: scanf(" %c", &c); または使用しませんscanf。 のでscanf悪い、入力フォーマット変換のためのいくつかのANSI Cオプション何scanf使用せずに(例えば、整数、浮動小数点、文字列など)を通常扱うことができるのscanf?
125 c  scanf 

4
unsigned short intのフォーマット指定子は何ですか?
次のプログラムがあります #include <stdio.h> int main(void) { unsigned short int length = 10; printf("Enter length : "); scanf("%u", &length); printf("value is %u \n", length); return 0; } これを使用してコンパイルするとgcc filename.c、次の警告が発行されます(scanf()行内)。 warning: format ‘%u’ expects argument of type ‘unsigned int *’, but argument 2 has type ‘short unsigned int *’ [-Wformat] それから呼ばC99 specification …
124 c  scanf 

4
scanf()は、改行文字をバッファに残します
私は次のプログラムを持っています: int main(int argc, char *argv[]) { int a, b; char c1, c2; printf("Enter something: "); scanf("%d",&a); // line 1 printf("Enter other something: "); scanf("%d", &b); // line 2 printf("Enter a char: "); scanf("%c",&c1); // line 3 printf("Enter another char: "); scanf("%c", &c2); // line 4 printf("Done"); // line 5 …
87 c  scanf 

6
scanfがCでバッファオーバーフローを引き起こすのを防ぐ方法は?
私はこのコードを使用します: while ( scanf("%s", buf) == 1 ){ ランダムな長さの文字列を渡すことができるように、バッファオーバーフローの可能性を防ぐための最良の方法は何でしょうか? たとえば、次のように呼び出すことで、入力文字列を制限できることはわかっています。 while ( scanf("%20s", buf) == 1 ){ しかし、ユーザーが入力したものは何でも処理できるようにしたいと思います。または、scanfを使用してこれを安全に行うことはできず、fgetsを使用する必要がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.