Создать функцию, которая с использованием функций позиционирования в потоке изменяет содержимое файла "array.dat", переданного ей в качестве параметра. А именно, функция переставляет все нулевые элементы в начало файла. (В этот файл мы записали массив, рандомных интовых элементов).
Проходим по файлу с конца, удаляем все нулевые элементы. Т. е. один указатель для чтения сдвигается постоянно, а второй для записи сдвигается только если там не 0. Когда первый дойдёт до начала файла, записываем от начала до второго нолики.
Само позиционирование для типа FILE*
осуществляется функцией fseek
.
Для fstream
надо использовать методы seekg
и seekp
.
А вообще, это для массива было бы хорошо, а на файле из-за позиционирования может медленно работать - возможно, надо оптимизировать, но в качестве первого приближения пойдёт.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Изначально файл программы набирался в Notepad++(по умолчанию utf-8)Много разрозненного русского текста
Необходимо создать 2 числа из одного с плавающей точкойfloat 15
Пытаюсь написать элементарное окно авторизации (в качестве обучения) и столкнулся со следующей проблемойИмеется определенная кнопка в cpp-файле...