Запись в файл Binary и ошибка 'Диск полон'

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Запись в файл Binary и ошибка 'Диск полон'

Сообщение Source » 23.02.2008 (Сб) 18:15

Если я пишу в файл Binary
Код: Выделить всё
Dim bTemp(10) as byte
Put hFile, , bTemp
и получаю ошибку диск полон, то после освобождения пользователем места на диске и возврате из обработчика ошибки по Resume запись будет продолжена с текущей позиции записи в файле, т.е. часть массива bTemp может быть уже записана, и потом допишется весь массив bTemp - это будет неверно или как оно будет?
Буря мглою небо кроет, вихри снежные крутя, то как зверь с VB завоешь, то заплачешь, как дитя...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.02.2008 (Пн) 7:39

Так проверь. ИМХО, массив не запишется. Файл останется в состоянии до выполнения оператора Put
Весь мир матрица, а мы в нем потоки байтов!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 25.02.2008 (Пн) 8:29

Я бы в любом случае проверил бы файл на существование после Resume, и (если размер не слишком велик) удалил бы.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 86

    TopList