https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119880
qingzhe huang <nickhuang99 at hotmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nickhuang99 at hotmail dot com --- Comment #5 from qingzhe huang <nickhuang99 at hotmail dot com> --- I guess you are right about using freopen+fwide to change orientation. Here is also what I learned from this comment (https://stackoverflow.com/a/22950466). Actually I am pretty happy with this strange workaround to switch/mix narrow and wide output as long as it works. (https://www.godbolt.org/z/6frxhTovn) It is only the first call of fwide at very beginning is giving a fishy of bug. Why does MSVC work without this strange call?