Is there a way to specify how many characters of a string to print out (similar to decimal places in ints)?
printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
Would like it to print: Here are the first 8 chars: A string
The basic way is:
The other, often more useful, way is:
Here, you specify the length as an int argument to printf(), which treats the ‘*’ in the format as a request to get the length from an argument.
You can also use the notation:
This is also analogous to the “%8.8s” notation, but again allows you to specify the minimum and maximum lengths at runtime – more realistically in a scenario like:
The POSIX specification for
printf()defines these mechanisms.