I am reading http://utf8everywhere.org/#how.files.
Never pass std::string or const char* filename arguments to the fstream family. MSVC CRT does not support UTF-8 arguments, but it has a non-standard extension which should be used as follows: ...
We will have to manually remove the conversion, when MSVC’s attitude to fstream changes.
emphasize mine.
Do the emphasized text indicate that the implementation of fstream family differs between platforms? Does it indicate that under Linux system I can safely pass utf-8 std::string or char to fstream family? Why the C++ documentation does not notice that platform difference http://en.cppreference.com/w/cpp/io/basic_fstream?
Newbie do need some confirmation so I would really feel appreciated if you can answer my questions directly while adding some explanation.