home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / i18nv102.zip / SAMPLE / PRINTF / PRINTF.C < prev    next >
C/C++ Source or Header  |  1995-08-28  |  5KB  |  134 lines

  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <wchar.h>
  4.  
  5. #define PRINT_RESULT(PRINT_STATEMNT) { \
  6.   printf("Output:\n"); \
  7.   printf("Return Code: %d\n\n", (PRINT_STATEMNT)); \
  8. }
  9.  
  10. main()
  11. {
  12.   short sn;
  13.   int n;
  14.   int rc;
  15.   setlocale(LC_ALL, "");
  16.  
  17.   printf("%s\n",
  18.     "printf(\"%4d%4i%4o%4u%4x%4X\\n\", 123, 123, 123, 123, 123, 123);");
  19.   PRINT_RESULT(printf("%4d%4i%4o%4u%4x%4X\n", 123, 123, 123, 123, 123, 123));
  20.  
  21.   printf("%s\n",
  22.     "printf(\"%.1d %.3d %01d %03d %.1x %.3x %01x %03x\\n\", \n"
  23.     "       12, 12, 12, 12, 12, 12, 12, 12);");
  24.   PRINT_RESULT(printf("%.1d %.3d %01d %03d %.1x %.3x %01x %03x\n", \ 
  25.     12, 12, 12, 12, 12, 12, 12, 12));
  26.  
  27.   printf("%s\n",
  28.     "printf(\"%d %o %x %X %u %i %p\\n\", \n"
  29.     "       -12345, -12345, -12345, -12345, -12345, -12345, -12345);");
  30.   PRINT_RESULT(printf("%d %o %x %X %u %i %p\n", \
  31.     -12345, -12345, -12345, -12345, -12345, -12345, -12345));
  32.  
  33.   printf("%s\n",
  34.     "printf(\"%\\\'d %\\\'o %\\\'x %\\\'X %\\\'u %\\\'i %\\\'p\\n\", \n"
  35.     "       -12345, -12345, -12345, -12345, -12345, -12345, -12345);");
  36.   PRINT_RESULT(printf("%\'d %\'o %\'x %\'X %\'u %\'i %\'p\n", \
  37.     -12345, -12345, -12345, -12345, -12345, -12345, -12345));
  38.  
  39.   printf("%s\n",
  40.     "printf(\"%#d %#o %#x %#X %#u %#i %#p\\n\", \n"
  41.     "       -12345, -12345, -12345, -12345, -12345, -12345, -12345);");
  42.   PRINT_RESULT(printf("%#d %#o %#x %#X %#u %#i %#p\n", \
  43.     -12345, -12345, -12345, -12345, -12345, -12345, -12345));
  44.  
  45.   printf("%s\n",
  46.     "printf(\"abc %s ghi %s mno\\n\", \"def\", \"jkl\");");
  47.   PRINT_RESULT(printf("abc %s ghi %s mno\n", "def", "jkl"));
  48.  
  49.   printf("%s\n",
  50.     "printf(\"abc %2$s ghi %1$s mno\\n\", \"jkl\", \"def\");");
  51.   PRINT_RESULT(printf("abc %2$s ghi %1$s mno\n", "jkl", "def"));
  52.  
  53.   printf("%s\n",
  54.     "printf(\"abc %4$*3$.*2$s ghi %1$s mno\\n\", \"jkl\", 5, 5, \"def\");");
  55.   PRINT_RESULT(printf("abc %4$*3$.*2$s ghi %1$s mno\n", "jkl", 5, 5, "def"));
  56.  
  57.   printf("%s\n",
  58.     "printf(\"abc %4$*3$.*2$S ghi %1$S mno\\n\", L\"jkl\", 5, 5, L\"def\");");
  59.   PRINT_RESULT(printf("abc %4$*3$.*2$S ghi %1$S mno\n", L"jkl", 5, 5, L"def"));
  60.  
  61.   printf("%s\n",
  62.     "printf(\"%s %5s %5.2s %2.5s\\n\", \n"
  63.     "       \"abc\", \"abc\", \"abc\", \"abc\");");
  64.   PRINT_RESULT(printf("%s %5s %5.2s %2.5s\n", \
  65.     "abc", "abc", "abc", "abc"));
  66.  
  67.   printf("%s\n",
  68.     "printf(\"%S %5S %5.2S %2.5S\\n\", \n"
  69.     "       L\"abc\", L\"abc\", L\"abc\", L\"abc\");");
  70.   PRINT_RESULT(printf("%S %5S %5.2S %2.5S\n", \
  71.     L"abc", L"abc", L"abc", L"abc"));
  72.  
  73.   printf("%s\n",
  74.     "printf(\"%*.*f\\n\", 8, 2, 12.345);");
  75.   PRINT_RESULT(printf("%*.*f\n", 8, 2, 12.345));
  76.  
  77.   printf("%s\n",
  78.     "printf(\"%2$*3$d %1$4s\\n\", \"foo\", 345, 5);");
  79.   PRINT_RESULT(printf("%2$*3$d %1$4s\n", "foo", 345, 5));
  80.  
  81.   printf("%s\n",
  82.     "printf(\"%2$3.3d abc %1$2.-3d def %3$4.d ghi\\n\", 1, 2, 3);");
  83.   PRINT_RESULT(printf("%2$3.3d abc %1$2.-3d def %3$4.d ghi\n", 1, 2, 3));
  84.  
  85.   printf("%s\n",
  86.     "printf(\"%1$*3$.*4$d %2$s\\n\", 3, \"foo\", 5, 6);");
  87.   PRINT_RESULT(printf("%1$*3$.*4$d %2$s\n", 3, "foo", 5, 6));
  88.  
  89.   printf("%s\n",
  90.     "printf(\"%c %C %hn %% %c %C %n\\n\", \n"
  91.     "       \'a\', L\'a\', &sn, \'b\', L\'b\', &n);");
  92.   PRINT_RESULT(printf("%c %C %hn %% %c %C %n\n", \
  93.     'a', L'a', &sn, 'b', L'b', &n));
  94.   printf("Value of sn is: %hd \n", sn);
  95.   printf("Value of n is: %d \n\n", n);
  96.  
  97.   printf("%s\n",
  98.     "printf(\"%e %E %f %g %G\\n\", 2.3, 2.3, 2.3, 2.3, 2.3);");
  99.   PRINT_RESULT(printf("%e %E %f %g %G\n", 2.3, 2.3, 2.3, 2.3, 2.3));
  100.  
  101.   printf("%s\n",
  102.     "printf(\"%Le %LE %Lf %Lg %LG\\n\", \n"
  103.     "       (long double)2.3, (long double)2.3, (long double)2.3, \n"
  104.     "       (long double)2.3, (long double)2.3);");
  105.   PRINT_RESULT(printf("%Le %LE %Lf %Lg %LG\n", \
  106.     (long double)2.3, (long double)2.3, (long double)2.3, \
  107.     (long double)2.3, (long double)2.3));
  108.  
  109.   printf("%s\n",
  110.     "printf(\"%.3e %.3E %.3f %.3g %.3G\\n\", \n"
  111.     "       2.34567, 2.34567, 2.34567, 2.34567, 2.34567);");
  112.   PRINT_RESULT(printf("%.3e %.3E %.3f %.3g %.3G\n", \
  113.     2.34567, 2.34567, 2.34567, 2.34567, 2.34567));
  114.  
  115.   printf("%s\n",
  116.     "printf(\"%.3e %.3E %.3f %.3g %.3G\\n\", \n"
  117.     "       12345.67/3, 12345.67/3, 12345.67/3, 12345.67/3, 12345.67/3);");
  118.   PRINT_RESULT(printf("%.3e %.3E %.3f %.3g %.3G\n", \
  119.     12345.67/3, 12345.67/3, 12345.67/3, 12345.67/3, 12345.67/3));
  120.  
  121.   printf("%s\n",
  122.     "printf(\"%.3e %.3E %.3f %.3g %.3G\\n\", \n"
  123.     "       -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3);");
  124.   PRINT_RESULT(printf("%.3e %.3E %.3f %.3g %.3G\n", \
  125.     -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3));
  126.  
  127.   printf("%s\n",
  128.     "printf(\"%\\\'3e %\\\'3E %\\\'3f %\\\'3g %\\\'3G\\n\", \n"
  129.     "       -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3);");
  130.   PRINT_RESULT(printf("%\'e %\'3E %\'3f %\'3g %\'3G\n", \
  131.     -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3, -12345.67/3));
  132.  
  133. }
  134.