Maison > développement back-end > C++ > Comment spécifier le nombre de caractères à imprimer à partir d'une chaîne à l'aide de printf() ?

Comment spécifier le nombre de caractères à imprimer à partir d'une chaîne à l'aide de printf() ?

Linda Hamilton
Libérer: 2024-11-30 14:57:12
original
651 Les gens l'ont consulté

How to Specify the Number of Characters to Print from a String using printf()?

Spécifier le nombre de caractères à imprimer avec printf()

La question se pose : existe-t-il un mécanisme dans printf() qui permet spécifier le nombre de caractères à imprimer à partir d'une chaîne ? On pourrait comparer cela à la spécification de décimales dans des nombres entiers. Par exemple :

printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
Copier après la connexion

De préférence, cette ligne devrait afficher :

Here are the first 8 chars: A string
Copier après la connexion

Solution

Il existe deux approches principales pour y parvenir dans C.

Méthode 1 : La base Approche

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Copier après la connexion

Méthode 2 : L'approche polyvalente

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Copier après la connexion

Dans cette approche, la longueur est fournie comme argument int à printf() . Le '*' dans le format est interprété comme une demande de récupération de la longueur d'un argument.

Notation étendue

Une autre notation peut être utilisée :

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars");
Copier après la connexion

Analogue à "%8.8s", cette notation permet également de spécifier les longueurs minimales et maximales au moment de l'exécution. Cela devient particulièrement utile dans des scénarios tels que :

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Copier après la connexion

La spécification POSIX pour printf() fournit une explication détaillée de ces mécanismes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal