scanf_s は、バッファ オーバーフロー攻撃を防ぐためにフォーマットされたデータを読み取る C 言語の安全な関数です。その構文は、scanf_s(format, ...) です。使用手順: ヘッダー ファイル stdio.h をインクルードします。変数の前に & 記号を追加します。形式指定子がデータ型と一致していることを確認してください。戻り値をチェックしてエラーを検出します。
C 言語での scanf_s の使用法
scanf_s 関数は、標準入力からフォーマットを読み取るために C 言語で使用されます。データの安全なバージョン。安全でない scanf 関数とは異なり、scanf_s は入力を検証し、バッファ オーバーフロー攻撃から保護します。
構文
<code class="c">int scanf_s(const char *format, ...);</code>
パラメータ
format
: 形式指定子の文字列。読み取られるデータ型。 ...
: 読み取るデータのアドレスを指定する変数引数リスト。 戻り値
scanf_s 正常に読み取られたアイテムの数を返します。入力の形式が正しくない場合、またはエラーが発生した場合は -1 を返します。
使用方法
scanf_s を使用するには、次の手順に従います。
stdio.h
ヘッダー ファイルをインクルードします。 &
記号を置きます。 例
<code class="c">#include <stdio.h> int main() { int age; char name[20]; printf("输入你的年龄:"); if (scanf_s("%d", &age) != 1) { printf("输入无效!\n"); return 1; } printf("输入你的姓名:"); if (scanf_s("%s", name, sizeof(name)) != 1) { printf("输入无效!\n"); return 1; } printf("你好,%s!你的年龄是 %d。\n", name, age); return 0; }</code>
注意事項
%s
形式指定子を使用し、文字列の最大長を指定します。 %n
形式指定子をサポートしていません。 以上がC言語でのscanf_sの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。