VC6 和VS2008 中的CTime类使用问题
在开发项目的时候,出现了这种错误,用VS2008开发的C++动态库,提供了一个对外的结构体如下
typedef struct FileInfo
{
DWORD fsize; /* File size */
CTime ftime; /* Last modified date and time */
BYTE fattrib; /* Attribute */
CHAR fname[MAX_PATH];/* Short file name (8.3 format) */
}FILE_INFORMATION
用VS2008调用这个动态库用的时候正常,查询出来的数据正常,但是用VC6调用这个动态库的时候,
查询出来的数据乱码,后来debug发现,是由于VS2008的CTime类型为64位,但是VC6的CTime为
32位,所以导致VC6取出来的数据不对。
解决方案:①对于跨版本导致的问题,建议提供的借口中用最基本的类型,如WORD,CHAR等。
②自己写一个类,对CTime类进行封装,分别对32和64位处理。
补充:软件开发 , Vc ,