Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 25.04.2011, 07:28   #1
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
По умолчанию заморочки функций fseek и fwrite

Здравствуйте.

Цель - перезаписать последний байт файла на любой другой (к примеру 0х55). В дальнейшем - другие байты.

Делаю так:

unsigned long x;
GetFileSize(myFile, &x);
x = x - 1;
buffer = 0x55;
fseek(myFile, x, SEEK_SET);
fwrite(&buffer, 1, 1, myFile);

В результате почти весь файл с какого-то момента забивается нулями, а в конце стоит 0х55.

Подскажите, почему такое может происходить?
tiger() вне форума Ответить с цитированием
Старый 25.04.2011, 08:50   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Цитата:
Сообщение от tiger() Посмотреть сообщение
Здравствуйте.

Цель - перезаписать последний байт файла на любой другой (к примеру 0х55). В дальнейшем - другие байты.

Делаю так:

unsigned long x;
GetFileSize(myFile, &x);
x = x - 1;
buffer = 0x55;
fseek(myFile, x, SEEK_SET);
fwrite(&buffer, 1, 1, myFile);
зачем так сложно?
Код:
	fseek(fp,-1,SEEK_END);
	fputc(0x55,fp);
вот же.

Последний раз редактировалось onewho; 25.04.2011 в 08:52.
onewho вне форума Ответить с цитированием
Старый 25.04.2011, 12:31   #3
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
зачем так сложно?
Код:
	fseek(fp,-1,SEEK_END);
	fputc(0x55,fp);
вот же.
действительно.
не знал что можно отрицательное смещение ставить.
большое спасибо!!!
tiger() вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функций (Си) Stilet Помощь студентам 8 30.03.2011 16:55
Табулирование функций. Dog Помощь студентам 1 27.09.2009 20:25
fseek вместо дополнительного массива (язык Си) velvetdust Помощь студентам 3 25.06.2009 20:32
Построение графиков функций С++ (методы аппроксимации функций) amdbodia Общие вопросы C/C++ 0 24.05.2009 14:28
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 17:25


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840