Вы не можете сделать это с помощью одного вызова функции Win32 API. Вызывайте ReadFile
несколько раз, считывая блоки размером не более 4 ГБ, пока не прочитаете все, что нужно прочитать.
Если это поможет вашему желанию сделать один вызов функции, оберните этот цикл в функцию, которую вы определяете, и вызовите ее.
В зависимости от того, что точно Вы пытаетесь сделать, существует APR (Apache Портативная Библиотека времени выполнения), который является тем, на чем Apache http демон основан
Для GUI, существует wxWidgets (раньше wxWindows)
Можно взглянуть на бойкий. Это обеспечивает довольно много интересных вещей как контейнеры, unicode поддержка, распараллеливая...
Взглянули на его документация
Я ничего никогда не видел. Действительно, шаблоны C++ являются технологией включения для STL и большой части повышения, и C не имеет их. Я видел многие библиотеки C-интерфейса для вещей как обработка изображений, 3D графика, сети, и т.д., но никогда реальная библиотека общего назначения как повышение. Можно найти части, хотя - поточная обработка библиотек, представьте библиотеки в виде строки, и т.д. - которые подобны разделам повышения.
ACE (Адаптивная коммуникационная среда) иногда упоминается. Это - не совсем сравнение от яблок к яблокам. Повышение обеспечивает больше "основных стандартных блоков", тогда как ACE служит большим количеством тесно интегрированной основы, приспособленной к телекоммуникационным продуктам. Я использовал и экстенсивно и я нахожу Повышение значительно выше. Одно большое преимущество Повышения состоит в том, что многие его функции разоблачат в расширениях STL для предстоящего C++ 0x стандарт (см., например, http://en.wikipedia.org/wiki/Technical_Report_1 ).
или вы можете посмотреть ccan http://ccan.ozlabs.org/
, но нет, на самом деле полного пакета нет, ближе всего подходит glib