The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"C/C++ 64bit. Глюк при сравнении чисел"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "C/C++ 64bit. Глюк при сравнении чисел" +/
Сообщение от vic (??), 28-Ноя-08, 14:29 
>[оверквотинг удален]
>>>...
>>>lSize = ftell (pFile);
>>
>>Попробуй еще
>>
>>off_t lSize;
>>...
>>lSize = ftello (pFile);
>
>Пробывал, ничего не изменилось.

fseeko() & ftello() одновременно, одного не достаточно (ессно с off_t).

тип фс? для теста что будет если ручками в шелле создать файл >2GB и скопировать его?

т.к. у вас фря, а у меня линукс, проверить я на коленке ничего не могу, но могу посмотреть ман для фри выложенный на опеннет, вижу что возвращаемое/устанавливаемое значение оффсета имеет тип long (возможно ман на опеннете безнадежно устарел), а не size_t. off_t судя по замечаниям в других манах (для lseek русский ман здесь же на опеннете) может быть int (4 byte, !8 byte), а lseek используется в fseek. Т.е. необходимо с файлами более 2 ГБ очень аккуратным. где-то все же ошибка у нас с вами, даже если кажется что считывается все вроде бы правильно...

переменная errno после каждой операции проверяется?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
C/C++ 64bit. Глюк при сравнении чисел, yerdna, 24-Ноя-08, 05:19  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру