Maison  >  Article  >  développement back-end  >  Comment puis-je personnaliser la troncature de chaîne dans printf() ?

Comment puis-je personnaliser la troncature de chaîne dans printf() ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 11:21:03979parcourir

How Can I Customize String Truncation in printf()?

Personnalisation de la troncature de chaîne dans printf()

Requête :

Est-il possible de contrôler le nombre de caractères imprimés à partir d'une chaîne à l'aide de printf(), ce qui revient à spécifier des décimales pour les entiers ?

Considérez :

printf("Voici les 8 premiers caractères : %sn", "Une chaîne de plus de 8 caractères");

Résultat attendu : Voici les 8 premiers caractères : Une chaîne

Solution :

Il existe deux méthodes principales pour réaliser cette personnalisation :

Méthode 1 :

printf("Voici les 8 premiers caractères : %.8sn" , "Une chaîne de plus de 8 caractères");

Méthode 2 :

printf("Voici les %d premiers caractères : %.*sn" , 8, 8, "Une chaîne de plus de 8 caractères");

Dans la deuxième méthode, un argument entier est passé à printf(), spécifiant la longueur. Le '*' dans le format invite printf() à obtenir la longueur à partir de l'argument qui l'accompagne.

Une notation alternative existe :

printf("Voici les 8 premiers caractères : %*. *sn", 8, 8, "Une chaîne de plus de 8 caractères");

Cette notation s'apparente au format "%8.8s" mais permet une spécification dynamique des longueurs minimales et maximales, notamment utile dans des scénarios tels que :

printf("Data: %*.*s Other info: %dn", minlen, maxlen, string, info);

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!

Déclaration:
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