如果是文件名中存储在中文,且是多字节编码方式(GBK、GB2312等),中文一般占用两个字节,而英文一个字节,中英文混合的文件名, 字节长度时不固定的,如果你按长度阶段字符串,将有可能正好将一个中文字符的两个字节分开了,所以显示?。 windows下 可以用函数widechartomultibyte函数将多字节字符串转换为宽字符串, 然后用multibytet……
不知道你说的是自己写的程序还是什么。 如果是自己写的程序,文件名应该是被截断了。。而如果用的中文,有可能截断的地方刚好是半个中文字符,这样就会显示?了。
69,382
社区成员
243,073
社区内容
加载中
试试用AI创作助手写篇文章吧