По С, подскажите. Если я выполняю кое какие операции по чтению file, например первые 5 байт. fread(array, sizeof(type1), 5, file); Потом вызываю while (fread(&buffer, sizeof(type2), 1, file) != EOF) {} То у меня будет происходить чтение файла в цикле с первого байта и до конца? Каким чертом мне начать читать с 6го байта и до конца? С fseek и fsetpos какая-то дичь получается.
Комментарии: 21
Roman
нихуя не понял
Teegeron
Чего ты не понял?
Roman
сути вопроса, где проблема
Byte
fseek(file, 6, SEEK_SET);
Teegeron
Устанавливал уже так. Потом fread() и мне перезаписывает все данные в файле
Byte
fread ПЕРЕЗАПИСЫВАЕТ?
Teegeron
Ну, там потом еще fwrite, она перезаписывает, хреново уточнил
Byte
Всю жизнь юзал, никаких проблем не было. Что-то не так делаешь.
Roman
fwrite ссылается на тот же file?
Teegeron
На второй файл, куда она и должна перезаписать. С типом аппенд
Roman
перезаписать ! = append append это добавить
Teegeron
Забей,не в том суть
Byte
Может быть и в том, если не тот режим при открытии файла.
Teegeron
Часть файла перезаписывается с помощью write, часть добавляет определённую инфу с помощью аппенд
Roman
Что-то странное. а сразу нельзя все записать одним разом?
Teegeron
Нит
Roman
чтобы оно прицепило - нужно закрыть файл. потом снова открыть но с атрибутом апенд
Teegeron
Почему? Я все еще работаю с файлом. Сначала запись через открытие Райт. Потом открытие через Аппенд, добавление, потом закрытие всех
Roman
ничего не мешает сразу открыть с апенд и писать сколько надо
Byte
Опять паралимпиада. Открыл как rb+, fseek куда надо, записал. 'a' пишет в конец файла автоматом. rb+ даёт и читать, и писать, и перемещать указатель. Никто (ГРАМОТНЫЙ) не переоткрывает файл в разных режимах для записи в конец, делают fseek SEEK_END.
Roman
да я хз зачем ему сначала писать, потом дописать может у него там извлечение носителя