Mixing cout statements with fprintf statements in the same code

Question:
Is it reliable to mix cout statements withfprintf statements in the same C++ code ifcout.sync_with_stdio() is used? Does thiscreate one single buffered file I/O stream?

Answer:
In general, there is no problem using fprintf and cout together in the sameprogram. The function ios::sync_with_stdio is not standard to the C++ languagestreams library and is defined by a few PC platforms. Calling this function changes implementations of the predefined objects like cout cin cerr to usea stdiobuf instead of a filebuf.

There will be some perfomance degradation, because both the stdio and streambuf willbe buffering the output.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: