Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

запись в файл, не изменяя размер самого файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странное с return метода http://www.cyberforum.ru/cpp-beginners/thread996535.html
На первом скриншоте видно, что в некотором методе update() указатель this указывает на.. эм.. что-то страшное, хотя всё должно быть нормально (при этом объект, естественно, присутствует и имеет...
C++ Доступ к процессам на Windows 6.x есть простой код получения handle процесса #include <stdio.h> #include <Windows.h> int main() { HWND hWnd = FindWindow(NULL, "limbo"); DWORD pID; GetWindowThreadProcessId(hWnd, &pID);... http://www.cyberforum.ru/cpp-beginners/thread996528.html
Простая задача с использованием циклов C++
Здраствуйте. Не могу понять в чем суть задачи и как эту суть записать на с++. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от XНАЧ до...
C++ Сумма ряда с необходимой точностью
Помогите решить эту задачу. Проблема не то что бы в самом коде, просто не очень разбираюсь в рядах и их решении. #include <iostream> #include <cmath> using namespace std; int main() { int...
C++ Найдите гипотенузу, площадь и радиус вписанной окружности http://www.cyberforum.ru/cpp-beginners/thread996505.html
1. Составьте словесно-формульный алгоритм, блок-схему и программу для решения следующей задачи. Подберите тестовые значения. Прямоугольный треугольник задан катетом и углом, прилежащим к нему....
C++ Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) Есть прямоугольник A x B. Нужно отрезать от него как можно больший квадрат и отбросить его (ставя счетчик в +1). Оставшийся прямоугольник так же резать до тех пор, пока не останется квадрат. ... подробнее

Показать сообщение отдельно
freakz
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 22

запись в файл, не изменяя размер самого файла - C++

03.11.2013, 20:38. Просмотров 355. Ответов 5
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
int stream::write(block blocks[], int numOfBlocks,const char *data){
    int filesize=strlen(data);
    ofstream disk("data.dat",ios::out | ios::binary); //Открываем файл в двоичном режиме для записи
    for(int i=0;i<numOfBlocks;++i)
    {
        disk.seekp(blocks[i].start);
        disk.write((char*)data,filesize); //Записываем в файл данные data
    }
    disk.close(); //Закрываем файл 
    return 1;
}
В листинге производится запись в файл блока данных. По условию задачи файл предполагается постоянного размера, например 10мб, и необходимо реализовать в нем чтение и запись. Проблема состоит в том, что при записи в начало этого файла, например, 5 байт, размер файла преобразуется в эти самые 5 байт, обрезая всё после них. А хочется, чтобы размер файла никак нельзя было менять,а запись лишь изменяла содержимое внутри файла. Это возможно??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru