printf.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <stdio.h>
  2. int main(int argc, char ** argv) {
  3. int sofar = 0;
  4. int len = printf(
  5. "percent: %%\nstring: %s\nchar: %c\nchar: %c\nint: %d\n%nuint: %u\nhex: %x\nHEX: %X\nstring: %s\n",
  6. "String",
  7. 'c',
  8. 254,
  9. -16,
  10. &sofar,
  11. 32,
  12. 0xbeef,
  13. 0xC0FFEE,
  14. "end"
  15. );
  16. printf("%%n returned %d, total len of write: %d\n", sofar, len);
  17. puts("\nPadding madness:");
  18. printf("% -5.3d %+3d\n", 1, 2);
  19. printf("%4c\n", 'c');
  20. printf("%#10.7x\n", 0xFF);
  21. printf("%#4.3o\n", 01);
  22. printf("%#x %#x\n", 0, 1);
  23. printf("%.0d %.0d\n", 0, 1);
  24. printf("(%05d) (%5d)\n", 123, 123);
  25. printf("(%05d) (%5d)\n", -123, -123);
  26. printf("(%13.0d)\n", 0);
  27. printf("%p\n", (void*) 0xABCDEF);
  28. printf("%p\n", (void*) 0);
  29. puts("\nPositional madness:");
  30. printf("%3$d %2$d %1$d\n", 2, 3, 4);
  31. printf("%.*3$d\n", 2, 0, 5);
  32. printf("|%-*6$.*5$s|%-*6$.*5$s|%*6$.*5$s|%*6$.*5$s|\n", "Fizz", "Buzz", "FizzBuzz", "TotalBuzz", 3, 8);
  33. puts("\nFloat madness:");
  34. printf("%20e\n", 123.456789123);
  35. printf("%20E\n", 0.00001);
  36. printf("%20f\n", 123.456789123);
  37. printf("%20F\n", 0.00001);
  38. printf("%20e\n", -123.456789123);
  39. printf("%020e\n", -123.456789123);
  40. printf("%g\n", 100000.0);
  41. printf("%g\n", 1000000.0);
  42. printf("%e\n", 1000000.0);
  43. printf("%G\n", 0.0001);
  44. printf("%G\n", 0.00001);
  45. printf("%E\n", 0.00001);
  46. return 0;
  47. }