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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странное с return метода http://www.cyberforum.ru/cpp-beginners/thread996535.html
На первом скриншоте видно, что в некотором методе update() указатель this указывает на.. эм.. что-то страшное, хотя всё должно быть нормально (при этом объект, естественно, присутствует и имеет корректные значения). На втором скриншоте показан метод (состоит только из return) getParentPosition. Как видно, parent есть и его позиция 90 по Х. На третьем (1 в изображениях) видно, чему равна...
C++ Доступ к процессам на Windows 6.x есть простой код получения handle процесса #include <stdio.h> #include <Windows.h> int main() { HWND hWnd = FindWindow(NULL, "limbo"); DWORD pID; GetWindowThreadProcessId(hWnd, &pID); HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID); http://www.cyberforum.ru/cpp-beginners/thread996528.html
Простая задача с использованием циклов C++
Здраствуйте. Не могу понять в чем суть задачи и как эту суть записать на с++. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от XНАЧ до xкон с шагом dx с точностью ε. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество про-суммированных членов ряда. ln((x+1)/(x-1))= 2*Ʃ1/((2n+1)*x^(2*n+1)). (от n=0...
C++ Сумма ряда с необходимой точностью
Помогите решить эту задачу. Проблема не то что бы в самом коде, просто не очень разбираюсь в рядах и их решении. #include <iostream> #include <cmath> using namespace std; int main() { int n=1; double eps=0.0001, s=0,s1,res; do
C++ Найдите гипотенузу, площадь и радиус вписанной окружности http://www.cyberforum.ru/cpp-beginners/thread996505.html
1. Составьте словесно-формульный алгоритм, блок-схему и программу для решения следующей задачи. Подберите тестовые значения. Прямоугольный треугольник задан катетом и углом, прилежащим к нему. Найдите гипотенузу, площадь и радиус вписанной окружности. одна тема - одна задача, читайте правила форума
C++ Резать прямоугольник, пока от него не останутся только квадраты. Посчитать их количество. (Оптимизировать программу) Есть прямоугольник A x B. Нужно отрезать от него как можно больший квадрат и отбросить его (ставя счетчик в +1). Оставшийся прямоугольник так же резать до тех пор, пока не останется квадрат. Сделал два варианта: Вывел формулу (в некоторых случаях работает неправильно): if (a > b) swap(a, b); // а всегда меньшая сторона cnt = ( (a*b)/(a*a) ) + a*b - (a*a)*( (a*b)/(a*a) ) Код, который... подробнее

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

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

03.11.2013, 20:38. Просмотров 343. Ответов 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 байт, обрезая всё после них. А хочется, чтобы размер файла никак нельзя было менять,а запись лишь изменяла содержимое внутри файла. Это возможно??
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru