Qt Code:
  1. #include <QApplication>
  2. #include <QFile>
  3.  
  4. int main( int argc, char ** argv )
  5. {
  6. QApplication app( argc, argv );
  7. #ifdef Q_OS_WIN
  8. QFile file("../src/main.cpp");
  9. int i = 1;
  10. while(1)
  11. {
  12. if (file.open(QIODevice::ReadOnly))
  13. {
  14. uchar* content = file.map(0, file.size());
  15. if (file.handle() == -1)
  16. break;
  17.  
  18. file.unmap(content);
  19. ++i;
  20. }
  21. else
  22. {
  23. printf("can't open file");
  24. break;
  25. }
  26. file.close();
  27. }
  28.  
  29. printf("handle count = %i\n", i);
  30. #endif
  31. return 0;
  32. };
To copy to clipboard, switch view to plain text mode 

if call QFile::handle 2046 time, next time it always return "-1". It's problem only for windows.
Is my error or qt limit?