Maison > Article > développement back-end > Utilisation de scanf_s en langage C
scanf_s est une fonction sécurisée en langage C permettant de lire des données formatées afin d'éviter les attaques par débordement de tampon. Sa syntaxe est : scanf_s(format, ...). Étapes d'utilisation : Incluez le fichier d'en-tête stdio.h. Ajoutez le symbole & avant la variable. Assurez-vous que le spécificateur de format correspond au type de données. Vérifiez la valeur de retour pour détecter les erreurs.
Utilisation de scanf_s en langage C
La fonction scanf_s est une version sécurisée du langage C pour lire des données formatées à partir d'une entrée standard. Contrairement à la fonction scanf non sécurisée, scanf_s valide l'entrée et protège contre les attaques par débordement de tampon.
Syntax
<code class="c">int scanf_s(const char *format, ...);</code>
Parameters
format
: Une chaîne de spécificateur de format spécifiant le type de données à lire. 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
...
: Une liste de paramètres variables fournissant l'adresse des données à lire. stdio.h
. 🎜🎜Placez les symboles &
avant la variable à partir de laquelle vous souhaitez lire les données. 🎜🎜Assurez-vous que le spécificateur de format correspond au type de données que vous souhaitez lire. 🎜🎜Vérifiez la valeur de retour de scanf_s pour détecter les erreurs. 🎜%s
et spécifiez la longueur maximale de la chaîne. 🎜🎜scanf_s ne prend pas en charge le spécificateur de format %n
. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!