Skip to content

Template-based C++ API for enhanced formatted printing to System Terminals

Notifications You must be signed in to change notification settings

chitalu/cprintf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

757ce51 · Oct 15, 2017
Oct 15, 2017
Nov 5, 2015
Nov 5, 2015
Jun 11, 2017
Jun 11, 2017
Oct 15, 2017
Jun 4, 2017
Oct 15, 2017
Oct 15, 2017

Repository files navigation

cprintf

Examples:

cprintf(stdout, "Characters: $R%c %c \n", 'a', 65);
cprintf(stderr, "$GDecimals$?: %d %ld\n", 1977, 650000L);
cprintf("$BPreceding with blanks: %10d \n", 1977);
cprintf(L"Preceding with zeros: $Y%010d \n", 1977);
cprintf("Some different radices: %d %x %o $M%#x$W %#o \n", 100, 100, 100, 100, 100);
cprintf("floats: %4.2f $C%+.0e$? %E \n", 3.1416, 3.1416, 3.1416);
cprintf("$W%s \n", "A string");
cprintf("$r%-5s\n", "ab");
cprintf("String: $cR%s\n", "my string arg");
cprintf("Str$Mi$?ngs:\n");
const char *s = "Hello";
cprintf("Char$cacters:\t%c %%\n", 65);
cprintf("\t$Y.%10s$?.\n\t.%-10s.", s, s);
cprintf("$YIntegers\n");
cprintf("Decimal:\t$R%i $G%d $B%.6i $C%i $Y%.0i $M%+i $W%u\n", 1, 2, 3, 0, 0, 4, -1);
cprintf("Hexadecimal:\t$R#%x $G#%x $B#%X $C#%#x\n", 5, 10, 10, 6);
cprintf("$b#Octal:\t%o %#o %#o\n", 10, 10, 4);
cprintf("$cFloating point\n");
cprintf("Ro$yunding:\t%f $M%.0f $W%.32f\n", 1.5, 1.5, 1.3);
cprintf("$WPadding:\t%05.2f %.2f %5.2f\n", 1.5, 1.5, 1.5);
cprintf("Scientific:$R\t%E $W%e\n", 1.5, 1.5);
cprintf("$BHexadecimal:\t%a %A\n", 1.5, 1.5);
std::uint32_t val = std::numeric_limits<std::uint32_t>::max();
cprintf("Largest 32-bit value is $Y%" PRIu32 "$? or $C%#" PRIx32 "\n", val,
  val);

Examples Output:

cprintf-output-linux

Project Depedencies:

Windows:

  • Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 (Visual Studio 2013)

Linux

  • GNU Compiler Collection (GCC) 4.8 or Clang 3.4

About

Template-based C++ API for enhanced formatted printing to System Terminals

Resources

Stars

Watchers

Forks

Packages

No packages published