Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Чтение бинарного файла более 2 ГБ Добавлено: 11.11.08 01:21  

Автор вопроса:  Obfuscate
Если номер байта больше 2147483647 возникает ошибка Overflow.

Dim ByteNumber As Double
Dim MyString As String
MyString = String(65536, " ")
Open "myfile.bin" For Binary Access Read Lock Read As #1
ByteNumber = 3147483647
Get #1, ByteNumber, MyString
Close #1

Пробовал через API, функция llseek в kernel32 тоже подыхает с ошибкой Overflow, если номер байта больше 2147483648.
Как быть?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #1 Добавлено: 11.11.08 07:14
А ты разбей абсолютный 8-ми байтовый адрес на два 4-х байтовых и передавай в SetFilePointer.

Ответить

Номер ответа: 2
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #2
Добавлено: 11.11.08 12:19
+1
Только нах такие большие файлы? Образ DVD что ли читаешь?=)

Ответить

Номер ответа: 3
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #3 Добавлено: 11.11.08 12:53
Да, вот еще что: Dim ByteNumber As Double - недоразумение. Его внутренний формат IEEE754. Не вздумай разбивать его.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам