|
98 / 54 / 3
Регистрация: 18.03.2009
Сообщений: 273
|
|
fopen и open не открывают файлы больше двух ГБ19.12.2009, 11:02. Показов 3720. Ответов 6
Метки нет (Все метки)
Собственно, проблема в заголовке. Следующий код:
FILE *input = fopen(file_path, "rb"); успешно открывает файлы, но не более 2-х Гб, для которых fopen возвращает ноль. Та же проблема, если использовать open: int input = open(file_path, O_RDONLY); open возвращает -1. Компилирую так: gcc -std=c99 main.c Uname -a: 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux gcc version 4.4.1 Уже с ног сбился, гуглил до посинения, нигде не встречал подобных тем, чтобы у кого-то такая проблема была.
0
|
|
| 19.12.2009, 11:02 | |
|
Ответы с готовыми решениями:
6
Warning: fopen(t3.txt) [function.fopen]: failed to open stream: fopen(text.htm): failed to open stream: Permission denied Warning: fopen(counter.txt): failed to open stream: Permission denied in |
|
98 / 54 / 3
Регистрация: 18.03.2009
Сообщений: 273
|
|
| 19.12.2009, 11:49 [ТС] | |
|
Попробовал. Не помогло :-(
Добавлено через 15 минут гугл, таки, помог найти выход! компилировать надо с добавлением параметра -D_FILE_OFFSET_BITS=64
0
|
|
|
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
|
|
| 19.12.2009, 15:20 | |
|
int input = open64(file_path, O_RDONLY);
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 19.12.2009, 20:04 | |
|
Нужно добавить два макроса:
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 Или использовать функцию fopen64()
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 20.12.2009, 00:48 | |
|
Да-да - конечно очень нестандартная функция.
А ничего что по стандарту ftell() возвращает long, который на 32-битных системах не превышает 2Gb ? И как же мы будем определять размер файла с помощью этой весьма стандартной функции ? И по какому стандарту нам чтобы открыть файл требуется добавлять парочку define в каждый модуль ? По крайней мере Linux-ы понимают fopen64(). А в FreeBSD например такой проблемы нет - там все работает без добавочных define-ов.
0
|
|
| 20.12.2009, 00:48 | |
|
Помогаю со студенческими работами здесь
7
Ярлыки открывают вредоносные bat файлы fopen открывает php файлы и не открывает sql файлы Извлечь fopen данные из двух файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|