今天寫程序時,發現一個遍歷文件夾的功能都總是無法通過,一運行就各種異常:
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。
果然問題解決。