Left-pad printf with spaces

前端 未结 4 1095
深忆病人
深忆病人 2020-11-29 21:20

How can I pad a string with spaces on the left when using printf?

For example, I want to print \"Hello\" with 40 spaces preceding it.

Also, the string I want

4条回答
  •  野性不改
    2020-11-29 22:05

    If you want the word "Hello" to print in a column that's 40 characters wide, with spaces padding the left, use the following.

    char *ptr = "Hello";
    printf("%40s\n", ptr);
    

    That will give you 35 spaces, then the word "Hello". This is how you format stuff when you know how wide you want the column, but the data changes (well, it's one way you can do it).

    If you know you want exactly 40 spaces then some text, just save the 40 spaces in a constant and print them. If you need to print multiple lines, either use multiple printf statements like the one above, or do it in a loop, changing the value of ptr each time.

提交回复
热议问题