Qu'est-ce que Snprintf dans C ++

Qu'est-ce que Snprintf dans C ++
C ++ est le langage de programmation couramment utilisé qui offre plusieurs avantages aux programmeurs. Il comprend diverses fonctions intégrées qui pourraient être utilisées à plusieurs fins. Parmi ces fonctions, il existe une fonction appelée snprint (), que les gens connaissent à peine.

Dans cet article, nous expliquerons la syntaxe, les paramètres, les valeurs de retour et le fonctionnement de snprintf () fonction en c++. On peut trouver une compréhension complète de snprintf () dans ce guide.

Qu'est-ce que snprintf () en C++

En c++, snprintf () est une fonction utilisée pour formater ou stocker une série de valeurs de caractère et de chaîne écrites dans le tampon. Il fonctionne de manière similaire à sprintf () fonction mais il a la capacité de surmonter les débordements de tampon. Le Le fichier d'en-tête comprend le snprint () fonction et il doit être déclaré si vous souhaitez utiliser la fonction dans votre programme. Le snprintf () La fonction spécifie le contenu maximum que le tampon pourrait avoir.

Le donné ci-dessous est la syntaxe à utiliser snprintf () Fonction dans C ++:

snprintf (char * tampon, size_t buf_size, const char * format,…);

Une fois les personnages écrits, un caractère nul final est inséré. Si max_bufSize est nul, rien n'est stocké et le tampon peut agir comme un pointeur nul.

Paramètres de snprintf ()

Voici les paramètres utilisés dans snprintf () fonction.

  • amortir: Un pointeur vers un tampon de chaîne où la sortie sera écrite.
  • buf_size: Max_bufSize-1 est le nombre maximal de caractères que l'on peut écrire dans le tampon.
  • format: Une chaîne à terminaison nulle a été écrite dans un flux de fichiers en tant que pointeur. Il est composé de caractères et de spécificateurs de format possibles commençant par%. Les valeurs des variables qui suivent une chaîne de format substituent les spécificateurs de format.
  • (Arguments supplémentaires): Selon le type de chaîne de format, la fonction peut s'attendre à une liste d'arguments supplémentaires, tous contenant une valeur utilisée pour remplacer le spécificateur de format dans le format de la chaîne (ou, pour max_bufsize, un pointeur vers un emplacement de stockage).

Il devrait y avoir un minimum de nombreux paramètres qu'il existe des valeurs de spécificateur de format. La fonction ignore tout argument supplémentaire.

Qu'est-ce que Snprintf () renvoie

Si la fonction réussit, elle renvoie le nombre de caractères qui seraient considérés comme écrits pour un tampon approprié, à l'exclusion d'un caractère nul de terminaison. Quand il échoue, il donne une valeur négative. La sortie sera considérée comme complètement écrite si et seulement si une valeur renvoyée est non négative et est plus petite que max_bufsize.

Comment utiliser snprintf () en c++

Voici un exemple d'utilisation de snprintf () en C ++:

Exemple

#inclure
#inclure
Utilisation de Namespace Std;
int main()

char buff_size [60];
int retour_value, max_bufSize = 60;
char str [] = "Linuxhint";
Int articles = 45;
return_value = snprintf (buff_size, max_bufSize, "Hello% s utilisateurs, lisons% d articles sur bash", str, articles);
if (return_value> 0 && return_value < MAX_BUFSIZE)

couter << buff_size << endl;
couter << "Number of characters written = " << return_Value << endl;

autre
couter << "Error writing to buffer" << endl;
retour 0;

Dans le code ci-dessus, nous avons réglé la taille maximale du tampon à 60. Cela signifie que le code acceptera les caractères pas plus de 60. Nous avons utilisé le snprintf () Fonction pour sortir une chaîne qui a 56 caractères et elle sera affichée au terminal de sortie. Dans le cas où vos caractères entrés sont supérieurs à 60 ans, le programme sera à travers une erreur.

Conclusion

Nous avons démontré le prototype, les paramètres, les valeurs de retour et le travail du C++ snprintf () Fonction qui écrit une chaîne formatée à un tampon de chaîne de caractères. Nous avons décrit un exemple avec une compréhension complète de snprintf () dans ce guide.