Std :: numeric_limits :: max () to std :: StreamposC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Std :: numeric_limits :: max () to std :: Streampos

Сообщение Anonymous »

MSVC и GCC интерпретируют следующий код одинаково. STD :: Streampos может быть построена только из Std :: Streamoff , в то время как подписан std :: streamoff . Таким образом, оба компилятора интерпретируют максимальное значение size_t как -1 . Мне ясно, почему, но как это ходить? Кроме того, разве это не недостаток в дизайне? < /P>

Код: Выделить всё

std::ifstream file(filePath, std::ios::in | std::ios::binary | std::ios::ate);
if (!file.is_open() || file.bad())
return StatusCode::fileOpenError;

std::streampos fileSize = file.tellg();
constexpr std::streamoff maxSupportedFileSize = std::numeric_limits::max();
if (fileSize > maxSupportedFileSize)
return StatusCode::unsupportedFileSize;
Debugger Debugger Watch on the Variable:


Подробнее здесь: https://stackoverflow.com/questions/794 ... dstreampos
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»