По С, подскажите. Если я выполняю кое какие операции по чтению file, например первые 5 байт. fread(array, sizeof(type1), 5, file); Потом вызываю while (fread(&buffer, sizeof(type2), 1, file) != EOF) {} То у меня будет происходить чтение файла в цикле с первого байта и до конца? Каким чертом мне начать читать с 6го байта и до конца? С fseek и fsetpos какая-то дичь получается.

Комментарии: 21

  1. Roman

    нихуя не понял

    • Teegeron

      Чего ты не понял?

      • Roman

        сути вопроса, где проблема

  2. Byte

    fseek(file, 6, SEEK_SET);

    • Teegeron

      Устанавливал уже так. Потом fread() и мне перезаписывает все данные в файле

      • Byte

        fread ПЕРЕЗАПИСЫВАЕТ?

        • Teegeron

          Ну, там потом еще fwrite, она перезаписывает, хреново уточнил

          • Byte

            Всю жизнь юзал, никаких проблем не было. Что-то не так делаешь.

  3. 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

                            да я хз зачем ему сначала писать, потом дописать может у него там извлечение носителя

Не нашли ответ?

Вам также может быть интересно