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

Удалить записанный экземпляр класса из двоичного файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Потеря памяти в программе http://www.cyberforum.ru/cpp-beginners/thread678723.html
Подскажите пожалуйста, как отловить в каком месте происходит потеря памяти? Программа считает, но если открыть диспетчер задач, то файл подкачки растет до 2ГБ и программа перестает считать, а там внутри цикл, который должен работать долго. ------------------------------- Приложен txt с кодом. Коду не пугаться =)
C++ DEV-C++ операторы ".", "::" как в VS Помогите разобраться. Как настроить оператор - "." и "::", чтобы после них вылезало окно со списком функций созданого класса? Тоесть как в VS... Пример 1: myClass ob; ob./*здесь окно выбора функций класса*/set(10); Пример 2: void myClass::/*здесь окно выбора функций класса*/set(int in){ http://www.cyberforum.ru/cpp-beginners/thread678714.html
Заполнить массив случайными числами, и вывести его на экран в форме матрицы! C++
Напишите кто программу для этого, потому что мне не получается!
C++ Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания.
Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания. Вывести оба файла на экран используя функцию.
C++ Непонятки с итераторами http://www.cyberforum.ru/cpp-beginners/thread678699.html
Здравствуйте, господа программисты. Пытался написать вот эту задачку, но получается что-то нехорошее. Помогите, пожалуйста! #include <iostream> #include <list> #include <iterator> #include <algorithm> using namespace std; list<int>::iterator find(int h, list<int> l) {
C++ Поиск элемента в массиве Почему не выводится цифра 6? #include <stdio.h> #include <string.h> int main () { char szInput = "1234567890"; int k, n = 6; for(k=0; k<strlen(szInput); k++) if(szInput==n) printf("%d\n", szInput); подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
29.10.2012, 14:37  [ТС]     Удалить записанный экземпляр класса из двоичного файла
alsav22, а, не, я через FILE* работаю.

Добавлено через 30 минут
Файл открыт r+b. Есть ли какие-либо особенности при работе с файлом, который открыт одновременно для чтения и записи, когда я в него записываю и читаю?

Добавлено через 5 часов 27 минут
Такое ощущение, что фокус в инкапсуляции какой-то.. Изменил всё на FILE*& и FILE**&, в итоге зайдя ещё глубже (из функции чтения передав в ещё одну функцию чтения свой файл), получил опять ту же проблему..

Будет ли какая-то разница, с каким из этих указателей работать?
C++
1
2
3
4
5
6
void f(FILE* f)
{
}
FILE *f1 = fopen("myfile.dat", "r+b");
FILE *f2 = f1, *f3 = f2, *f4 = f3;
f(f4);
Добавлено через 1 час 9 минут
Новый-старый фокус.
C++
1
ReadFile(file); // не работает
----------------------------
C++
1
2
fseek(file, ftell(file), SEEK_SET);
ReadFile(file); // работает
Добавлено через 11 часов 23 минуты
up-to-date

Добавлено через 7 часов 57 минут
Как сказал преподователь по ОС, это может быть из-за того, что, переходя в функцию, создается новый конекст файла, а когда я возвращаюсь из функции, забираю предыдущий контект (который теперь почему-то испорчен). fseek просто обновляет контект, поэтому и решает проблему.
Вопрос, как же тогда пользоваться контекстом?
 
Текущее время: 23:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru