cprintf

How to repeat a char using printf?


I'd like to do something like printf("?", count, char) to repeat a character count times.

What is the right format-string to accomplish this?

EDIT: Yes, it is obvious that I could call printf() in a loop, but that is just what I wanted to avoid.


Solution

  • You can use the following technique:

    printf("%.*s", 5, "=================");
    

    This will print "=====" It works for me on Visual Studio, no reason it shouldn't work on all C compilers.

    [Edit]

    Note that this format specifier will print a left substring of the input, so the number you use has to be <= the width of the string