On 10 May 2015 20:31, 罗勇刚(Yonggang Luo) wrote: > For example, the open function exist both in msvcrt and posix, > int open(const char *path, int oflag, ...); > > But in msvcrt, the path is ANSI encoding, and in posix, path is utf8 encoding, POSIX has no such encoding requirement on the |path| argument: http://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html on Linux, that buffer is a standard NUL-terminated C string which is passed directly to the kernel which more or less passes it directly to the fs driver. how some FS drivers interpret that string depends on the FS. -mike