Well.. I'm still learning C++, but for what it's worth, I still use printf() and scanf(). Of course, I really just don't know how to do formatting with cout. For example...
Code:
printf ("%20s%20s\n, Name, Value);
printf ("%20s%20s\n", "-----", "-----");
printf ("%20s%20d\n", "A", a);
printf ("%20s%20d\n", "B", b);
printf ("%20s%20d\n", "Sum", a + b);
printf ("%20s%20d\n", "Product", a * b);
It's a relatively simple (for me) way to print a nicely formatted table. Field specifiers seem to be the only nice feature of printf that I really use.
scanf is quite nice on merit of it's [] conversion specifier, practically eliminates to handle input a character at a time. Just have to make sure the user doesn't overflow your string buffer. Even though one can stop scanf from terminating it's string input on a whitespace, the function you describe sounds like fgets().