Formatage de précision des chaînes en C à l'aide de printf()
Lors de l'impression de chaînes à l'aide de la fonction printf(), il est parfois souhaitable de spécifier le nombre de caractères à imprimer, similaire à la spécification de décimales lors de l'impression d'entiers. Pour y parvenir, des spécificateurs de précision peuvent être utilisés dans la chaîne de format.
Spécificateur de précision de base
Le spécificateur de précision de base, %.8s, où 8 est le caractère souhaité count, peut être utilisé pour tronquer la chaîne à la longueur spécifiée :
printf("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Cela produirait le sortie :
Here are the first 8 chars: A string
Spécificateur de précision avancé
Une approche plus flexible consiste à utiliser le spécificateur %*.*s, où le deuxième * indique le nombre maximum de caractères à imprimer et le premier * indique le nombre minimum de caractères à imprimer. Le nombre réel de caractères imprimés sera la moindre des longueurs minimale et maximale spécifiées :
printf("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Cela produira également le résultat :
Here are the first 8 chars: A string
Ceci Le spécificateur permet un meilleur contrôle sur le processus d'impression des chaînes, permettant des ajustements d'exécution des longueurs minimales et maximales. De plus, la notation %*.*s peut être utilisée pour ajuster dynamiquement la largeur des chaînes imprimées, en fonction des valeurs des variables :
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
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!