This question confuses me lot. Because C++ is a superset of C programmer is free to use C's library functions like printf(), scanf() & many others etc. But I usually like C++ 's Object oriented I/O system & I mostly like to use cout & cin. Because iostream is more type safe, less error prone, extensible, flexible & also inheritable. Should I stop using traditional C's I/O functions because of iostream 's advantages or should I modify my program to use ? Which approach is better? Where should I take care when mixing C & C++ I/O. I know that backward compatibility with legacy C programs is necessary, but what should I really do?
C++ and C streams are synchronized by default, so you can mix them safely. This behavior is controlled by std::ios_base::sync_with_stdio.
As to whether you should do it? Doesn't matter. C++ does not have a universal style guide. Some programmers prefer the C++ iostreams interface, some prefer C's methods, some mix them.
Here are some links that discuss the problem better than I can.