Home > Article > Backend Development > How do you control the number of characters printed in a string using printf() in C?
Precision Formatting of Strings in C using printf()
When printing strings using the printf() function, it is sometimes desirable to specify the number of characters to be printed, similar to specifying decimal places when printing integers. To achieve this, precision specifiers can be used in the format string.
Basic Precision Specifier
The basic precision specifier, %.8s, where 8 is the desired character count, can be used to truncate the string to the specified length:
printf("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
This would produce the output:
Here are the first 8 chars: A string
Advanced Precision Specifier
A more flexible approach is to use the %*.*s specifier, where the second * indicates the maximum number of characters to be printed and the first * indicates the minimum number of characters to be printed. The actual number of characters printed will be the lesser of the specified minimum and maximum lengths:
printf("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
This will also produce the output:
Here are the first 8 chars: A string
This specifier allows for greater control over the string printing process, enabling runtime adjustments of the minimum and maximum lengths. Additionally, the %*.*s notation can be used to dynamically adjust the width of strings printed, based on the values of variables:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
The above is the detailed content of How do you control the number of characters printed in a string using printf() in C?. For more information, please follow other related articles on the PHP Chinese website!