У fread
есть ли ограничение по количеству байтов, которое он может прочитать сразу? Или я могу прочитать любой размер, на который я хотел бы поручить мой указатель? Например, Могу ли я прочитать файл 50 МБ после использования fread, чтобы зарядить его в указатель символов?Fread number of bytes limit
ответ
Теоретически, да, он может прочитать любое количество байтов до максимума size_t
(который является unsigned int
(примерно 4 ГБ на 32-битной системе). Однако, так как ваш буфер должен быть выделен в смежный блок, вряд ли возможно и не рекомендуется, чтобы читать в большом файле сразу (и для существенно больших файлов вы, вероятно, не сможете создать буфер памяти, достаточно большой для хранения файла). Как правило, у вас будет меньший буфер и петля над файлом, загружая его в память в кусках.
на практике fread()
не будет иметь никаких проблем прихлебывая в файле 50MB. это на самом деле не «большой файл» по современным стандартам. fread()
возвращает число жет ms read, и гарантированно возвращает короткий счетчик предметов только в конце файла (если вы запрашивали больше элементов, чем в файле) или ошибку. Вы должны проверить, что количество возвращенных элементов - это то, что вы ожидаете, и, если оно коротко, используйте feof()
и ferror()
, чтобы различать EOF и ошибку.
- 1. Socket.io limit number of users
- 2. javascript: limit number of items
- 3. OkHttpClient limit number of connections?
- 4. Drupal autocomplete limit number of character
- 5. HTML5/Javascript SSE limit number of calls
- 6. jquery limit number of characters from .load
- 7. AWS limit number of EC2s, созданный пользователем
- 8. limit number of rows with ng-repeat
- 9. jQuery inputmask no limit on number of characters
- 10. Считыватель Stream.Read number of character
- 11. Vector of bytes to quadword
- 12. Parse - Get Number of Installations
- 13. Word2Vec: Number of Dimensions
- 14. WordPress: Number of posts
- 15. Autogenerate number of fieldsfields
- 16. Max Number of FileConnections
- 17. clique number of graph
- 18. Incrementing Number of logins
- 19. fRead of C in Java
- 20. C# Prime Number Generator Out of Memory
- 21. Python bytearray verses list of bytes
- 22. NSPredicate count number of NSString
- 23. redis.lpush a number of items
- 24. Lisp list number of element
- 25. SET MAX NUMBER of Magnitude?
- 26. Gnuplot Range Factor of Number
- 27. SubArray Sum of Fibonacci Number
- 28. Python quees - number of task_done()
- 29. Number of Occurrences (No Array)
- 30. Count Number of Sentence Ruby
привет, я благодарю за это посоветую, я был уверен, что у fread/fwrite есть предел. Просто запутался в одном, как вы получили 4gbs? могу я хранить 4gbs с unsigned int (size_t), который вы говорите? извините, если это глупый вопрос, но я действительно запутался. Спасибо за помощь! ура! – 3ryck