I still haven't got around to checking - but STL used to require narrow
char strings for the filenames. This was OK for Unix-like systems that
use UTF-8 - but not for Windows where native filenames are 16-bit char
Unicode, and the glue layer for 8-16 bit defaults to your national
character set.
I suspect that it working OK on Unix/Linux may be why it got past the
committee.
Andy