コンテンツ
- 定義-Scanfの意味?
- Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
- TechopediaはScanfについて説明します
定義-Scanfの意味?
Cプログラミング言語では、scanfはstdin(つまり、リダイレクトされない限り通常はキーボードである標準入力ストリーム)からフォーマットされたデータを読み取り、指定された引数に結果を書き込む関数です。
この関数は、同じ機能を持つがデータのソースのみが異なる関数のファミリに属します。たとえば、fscanfはファイルストリームから入力を取得しますが、sscanfは文字列から入力を取得します。
Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
TechopediaはScanfについて説明します
scanf関数には、次のプロトタイプ/署名があります。
int scanf(const char * format、...);
どこ
- int(整数)は戻り型です
- formatは、型指定子を含む文字列です(以下を参照)
- "..."(省略記号)は、関数が可変数の引数を受け入れることを示します。各引数は、変換結果が書き込まれるメモリアドレスである必要があります
単純型指定子は、パーセント(%)記号と、型を示すアルファ文字で構成されます。以下に、scanfで認識される型指定子の例をいくつか示します。
- %c —キャラクター
- %d —符号付き整数
- %x — 16進形式の符号なし整数
- %f —浮動小数点
- %s —文字列
この関数は、標準入力ストリームから入力を読み取り、「format」の内容をスキャンして形式指定子を探し、2つを一致させようとします。成功すると、関数は渡された引数に結果を書き込みます。
たとえば、関数呼び出しが
scanf( "%c%d"、&var1、&var2);
ユーザーが「a1」と入力すると、関数は「a」を「var1」に、「1」を「var2」に書き込みます。ただし、関数呼び出しが
scanf( "%x"、&var);
同じ入力が16進数「a1」として読み取られます。これは10進数で161です。
関数は次の値を返します。
- > 0 —正常に変換および割り当てられたアイテムの数。
- 0 —アイテムは割り当てられていません。
- <0 —割り当てが行われる前に読み取りエラーが発生したか、ファイルの終わり(EOF)に達しました。