前几天软件完成后进入测试,在测试机器上发现socket传送的一个文件总是不能保存正确的文件格式,但是在我的机器却又没有问题。没有办法,跟着流程走一遍,一点一点加log,终于发现是CFile中GetFileName与GetFileTitle导致的问题。
原因如下:
我的机器中是不隐藏文件扩展名,测试的机器是隐藏机器扩展名的。 GetFileName 与GetFileTitle在我的机器上是没有差别的,但是在隐藏扩展名的情况下, GetFileName 能得到文件的扩展名,GetFileTitle得不到文件的扩展名。
如:机器一个test的文本文档,在隐藏扩展名的情况下, GetFileName返回的值是“test.txt”,而 GetFileTitle返回值是"test"。
从而最终导致socket传输后保存的文件没有扩展名。