the difference between 'printf' and 'cin/out' is...?

Hello Everyone. This is my first post and I've been studying programming for almost a year now.

Basically all of the stuff we did in win32 C console application used printf() for output to the screen (and putc() at one point), and scanf()/gets() for input - instead of cin or cout, which is what I tend to see everywhere on the net.

I can't see any argument for going either way except that maybe there's simply more tutorials/forums/etc using cin and cout.

Is there a point where either way becomes complicated or restricted? Or are they both on the way out and irrelevant, except for testing and learning programming skills?

I can find and pretty much understand syntax for both but I'm wondering if there's something in the long term I don't see by using one and not the other...
Last edited on
printf and scanf exist to maintain compatibility with C, C++ input and output is done via streams so if you are programming 'real' C++ you should use cin and cout.
Streams are more customisable as you can overload the << and >> operators and C I/O functions don't perform type checking leading to possible bugs
Topic archived. No new replies allowed.