MultiByteToWideChar的一点问题

     string类的size()/length()方法返回的是字节数,不管是否有汉字。

     MultiByteToWideChar ( CP_ACP,   0,   vIter->c_str(),   vIter->length() + 1,      tmpFullFilePath,   MAX_PATH);这个语句中若把参数1改为CP_UTF8格式,则当vIter指向包含汉字的字符串时tmpFullFilePath无法得到正确的结果。因为UTF8的汉字表示方式是变长的,不一定都是两个字节。

你可能感兴趣的:(String,Path)