今天写程序时,发现一个遍历文件夹的功能都总是无法通过,一运行就各种异常:
1、条件为/*.*时,就算判定了 if (!(fileinfo.attrib & _A_SUBDIR)),.目录竟然能进入这个条件;
2、只要一执行到_tfindnext程序就奔溃。
只差没砸电脑了,后来终于在网上找到原来是路径句柄返回类型的问题。
引用 http://blog.csdn.net/kelvin_yan/article/details/53997840 的原话:
原因:
_findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定义为long,在win7中是没有问题,但是在win10中就要改为long long或者intptr_t。
果然问题解决。