La méthode de base est:
printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
L'autre, souvent plus utile, est: il
printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Ici, vous indiquez la longueur comme un argument int à printf(), qui traite le '*' dans le format en tant que requête pour obtenir la longueur d'un argument.
Vous pouvez également utiliser la notation:
printf ("Here are the first 8 chars: %*.*s\n",
8, 8, "A string that is more than 8 chars");
Ceci est également analogue à la « % 8.8s » notation, mais encore une fois vous permet de spécifier la longueur minimale et maximale à l'exécution - plus réaliste dans un scénario comme:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Au dernier exemple: Que faire si une chaîne copiée est plus courte que minlen? – truthseeker
La sortie sera complétée en blanc (à gauche sauf si vous ajoutez un '-') pour atteindre la longueur maximale spécifiée. –