printf常用示例
格式:
%[flags] [width] [.precision] [{h | l | ll}]type
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | // 默认 printf("|%f|\n", 34.12345); printf("|%d|\n", 654321); /* |34.123450| |654321| */ // 右对齐,不足长度填空格 printf("|%14.4f|\n", 34.12345); printf("|%14d|\n", 654321); /* | 34.1234| | 654321| */ // 右对齐,不足长度填0 printf("|%014.4f|\n", 34.12345); printf("|%014d|\n", 654321); /* |000000034.1234| |00000000654321| */ // 左对齐,不足长度填空格 printf("|%-14.4f|\n", 34.12345); printf("|%-14d|\n", 654321); /* |34.1234 | |654321 | */ // size前缀 // 注意:不同平台实现有一些差异,比如I32, I64不是通用的。h, l, ll是没有任何问题的 printf("|%14hd|\n", (short int)654321); printf("|%14ld|\n", (long int)654321); printf("|%14ld|\n", (long unsigned int)654321); printf("|%14lld|\n", (long long)654321); /* | -1039| | 654321| | 654321| | 654321| */ const char *s = "---------------"; // s.length = 15 int width = 10, len = 10; // 左对齐输出,width表示字符输出总宽度,len表示输出s的长度、不足填空格。 // 若width = len < s.length 则可以实现输且只输width个字符 printf("|%-*.*s|\n", width, len, s); // output: // |----------| |



