您的位置:首页 > 其它

FindFirstFileW和FindNextFileW在unicode编译环境下发生堆破坏的问题!

2014-07-15 16:58 507 查看
dirent.h头文件中的_wopendir和_wreaddir在XP和vs2010中有

FindFirstFileW和FindNextFileW在unicode编译环境下发生堆破坏的问题

可能解决办法有:

1、

struct _WDIR {

struct _wdirent ent; /* Current directory entry */

WIN32_FIND_DATAW find_data; /* Private file data */

int cached; /* True if data is valid */

HANDLE handle; /* Win32 search handle */

wchar_t patt[PATH_MAX+1]; 将原先的指针设为数组

};

2、

typedef struct _WIN32_FIND_DATAW {

DWORD dwFileAttributes;

FILETIME ftCreationTime;

FILETIME ftLastAccessTime;

FILETIME ftLastWriteTime;

DWORD nFileSizeHigh;

DWORD nFileSizeLow;

DWORD dwReserved0;

DWORD dwReserved1;

WCHAR cFileName[ MAX_PATH ];

WCHAR cAlternateFileName[ 14 ]; //将此处的值改大,比如140

#ifdef _MAC

DWORD dwFileType;

DWORD dwCreatorType;

WORD wFinderFlags;

#endif

} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;

本人经过测试解决了堆破坏的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: