在开发的一个工程中,需要判断文件真实类型,方式是读取文件开头的255字节,然后转换成大写再判断是否有特定字符,程序在VC6下没问题,但是boss要的是64位程序,因此转到VS2010下编译,程序编译没问题,但是在读一些二进制文件时会出现“遇到不适当的参数”的提示,跟进去发现是CString的MakeUpper函数报错。
个人理解应该是VS2010里增加了对宽字节字符的安全检查,但是我的需求只是做一下判断,他这样一搞程序运行不下去,好烦,你们有没有遇到这个问题?怎么解决的?难道要自己写一个函数来替代?
说实话,这一个地方我已经改了代码了,但是今天在其他地方又遇到了,是文件保存函数中检查给的保存名是否包含后缀,没包含就添加一下,但是遇到文件名是中文,后缀只有3字符,文件名Right取前面的字符时会把一个中文 截断,从而又出现这样的提示,真的好烦。
个人理解应该是VS2010里增加了对宽字节字符的安全检查,但是我的需求只是做一下判断,他这样一搞程序运行不下去,好烦,你们有没有遇到这个问题?怎么解决的?难道要自己写一个函数来替代?
说实话,这一个地方我已经改了代码了,但是今天在其他地方又遇到了,是文件保存函数中检查给的保存名是否包含后缀,没包含就添加一下,但是遇到文件名是中文,后缀只有3字符,文件名Right取前面的字符时会把一个中文 截断,从而又出现这样的提示,真的好烦。