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

Как заменить часть содержимого файла? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как упростить эту запись: http://www.cyberforum.ru/cpp/thread81024.html
Вообще не понимаю, что эта запись подразумевает, и зачем она нужна. может кто растолкует... fl_h.read((char*)&xRec,sizeof(DtbRec)); Сама программа строк на 650, поэтому вкратце: fl_h - это file handle класса fstream. DtbRec - класс. xRec - объект класса DtbRec.
C++ Пояснитее как работает эта программа... #include <cstdlib> #include "Class.h" using namespace std; int main(int argc, char *argv) { cout << "VVedite maximalnii razmer mnojectva" << endl; http://www.cyberforum.ru/cpp/thread80951.html
C++ Программа с шаблонами:
Написал простенькую программу с шаблонами, но компилятору она не нравится. Подскажите, как переделать? #include <iostream> using namespace std; template< class T > T max(T a, T b) { if(a > b) return a;
C++ Записать в файл последовательного доступа N действительных чисел
Народ помогите решить задачу пожалуйста!!!: Записать в файл последовательного доступа N действительных чисел. Вычислить произведение компонентов файла и вывести на печать.
C++ Произовльное окно http://www.cyberforum.ru/cpp/thread80883.html
1. Как сделать окно полностью произвольной формы? Не просто пятиугольное, а кривое? 2. Как к окну приделать прозрачность, меняющуюся от точки к точке? Учесть, что окно может быть как дочерним (кнопка, например), так и главным (форма) и решение нужно для обоих видов окон. API просьба не предлагать: прилада ко всему прочему должна быть кроссплатформенной.
C++ Объявление укзателей, логика работы (для тех кто знаком с языком "низко"). int *p_int; cout << p_int << "\n"; p_int = new int; cout << p_int; //в обоих выводах будут разные адреса памяти. По какому алгоритму(на основе чего именно этот адрес) и зачем(если присваивается значит нужен для чего-то, или был нужен когда-то, потому что проще нулевой адрес присвоить - меньше ошибок будет) присваивается указателю адрес во время объявления?? подробнее

Показать сообщение отдельно
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224

Как заменить часть содержимого файла? - C++

28.12.2009, 19:21. Просмотров 827. Ответов 3
Метки (Все метки)

В программе имеется класс Person, и объект User.

Когда пытаюсь заменить часть содержимого файла, вместо этого происходит очередная запись. Как это исправить?

Вот например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
fstream File;
File.open("file.dtb", ios::in|ios::out|ios::binary);
 
// Добавляем 1 запись
File.seekp(number, ios::end);
File.write((char*)&User,sizeof(person));
 
number=1;
// Переходим ко второй и добавляем её (такую же как и 1):
File.seekp(number*sizeof(person), ios::beg);
File.write((char*)&User,sizeof(person));
 
// Изменяем первую          (данные в объекте User изменены)
number=0;
File.seekp(number*sizeof(person), ios::beg);
File.write((char*)&User,sizeof(person));
 
// Читаем файл
File.seekg(0, ios::beg);
 
cout << endl << "Reading file:" << endl;
while(!File.eof())
{
    File.read((char*)&User, sizeof(person));
    User.dispdata();
    cout << endl;
}
Должно получиться : первая запись измененная, а вторая - исходная. Однако получается - две исходные, и одна - измененная.

Как же тогда записать одну вместо другой?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru