Mingw и _stati64 () - PullRequest
       1

Mingw и _stati64 ()

0 голосов
/ 05 ноября 2011

Я использую _stati64() в своем файловом менеджере, чтобы я мог получить размер файлов более 4 ГБ.

Мой код выглядит нормально:

struct _stati64 buf;
_stati64(ep->d_name, &buf);

Дело в том, что иногда _stati64 работает правильно, иногда я получаю огромные значения. Я даже проверил с помощью gdb, выполнив print buf, и все еще получаю неправильные значения, так что, похоже, проблема не в моем коде. Кто-нибудь испытывал нечто подобное?

1 Ответ

2 голосов
/ 05 ноября 2011

Вам необходимо проверить возвращаемое значение _stati64.Если это не 0, у вас не будет действительных результатов.

Если ваш фактический код проверяет возвращаемое значение, скорее всего ошибка, что вы каким-то образом повреждаете структуру после возврата _stati64.

Последняя возможность состоит в том, что получаемые вами "плохие значения" на самом деле являются действительными и хорошими значениями.Я обновлю свой ответ, если вы уточните вопрос, какие значения вы получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...