最近做项目,遇到这么个问题:将文件地址写入内存流,有时会出现写入的字符串成了乱码,读出来也是乱码,例如有个文件地址:e:\abc's file\file1.wav;由于文件名中带有单引号而使写入流后变成乱码,读取出来的文件名无法使用,请问有什么方法可以处理将类似这种问题?我知道有个api getshortpathname,但没效果,而且读出的是空字符串。在此谢过了!

解决方案 »

  1.   

    呃,不懂耶。不过我找到原因了,delphi 2010中默认的string char pchar都为wide双字节型的,若要使用以前的代码在delphi2010中顺利编译通过,得出正确结果,需要修改为ansi 单字节型(string-ansistring char-pchar,pchar-pansichar)。
    这个问题以前遇过,给忘了。哈哈……不过人气好低啊,既然只有你回答,分就给你吧