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

Добавление элементов структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перетирание байтов с использованием seekp + write в бинарных файлах http://www.cyberforum.ru/cpp-beginners/thread949844.html
Привет, возник вопрос с записью бинарных файлов. пишу в файл данные таким кодом : ofstream file1; file1.open("file.bin",ios::out|ios::binary|ios::trunc); int intVar =156; float floatVar =-34.995; long longVar = 10; file1.write((char*)&intVar,sizeof(intVar)); file1.write((char*)&floatVar,sizeof(floatVar));
C++ Объектно-ориентированная программа для расчета арифметического выражения Необходимо написать объектно-ориентированную программу, которая принимает на вход арифметическое выражение (только сложение и вычитание с отрицательными и положительными числами), переводит все в двоичную систему, там поэлементно через массив производит вычисления и выдает ответ в двоичной и десятичной системе. Кол-во пробелов не ограничено и не указано. При вводе отрицательных чисел ставятся... http://www.cyberforum.ru/cpp-beginners/thread949840.html
C++ Паскаль.Разработать программу для вычисления арифметического выражения и вывода полученного результата
Ребят помогите Разработать программу для вычисления арифметического выражения и вывода полученного результата.Соответствующие исходные данные ввести с клавиатуры.
библиотека для работы с mysql C++
Здравствуйте, хочу научится работать в C++ Bulder XE с базами данными, не встроенными а допустим с Mysql 5.1, MS SQL Server. Хотел бы книгу найти, но не могу найти. Предложите библиотеки либо книги где все подробно рассказывается.
C++ Синтаксические ошибки http://www.cyberforum.ru/cpp-beginners/thread949811.html
Всем привет !!! помогите пожалуста найти синтаксические ошибки в коде float x, y; //cout ;<< "x="; cin >> x; if(x < 0) { y = 1 / (2*x+10); cout << y; }
C++ Работа с классами (в главном классе создать указатель на экземпляр другого класса) Недавно начал изучение С++, в частности ООП. В связи с чем у меня есть вопрос как в главном классе можно создать указатель на экземпляр другого класса, причем такой, чтоб во всех экземплярах главного класса был один и тот же указатель. То есть существует много экземпляров главного класса, все указатели которого указывают на единственный экземпляр другого класса. подробнее

Показать сообщение отдельно
fktrctq0321
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 37
07.09.2013, 18:50  [ТС]     Добавление элементов структуры
Цитата Сообщение от GoldenChild Посмотреть сообщение
Если ты хочешь добавлять новые поля в файл, то придется сначала считать их в массив структур, при этом запоминая сколько их, после уже существующих добавить новые, увеличивая счетчик, а потом уже это все снова записать в файл.
Если добавление идет в программе несколько раз, а запись в файл в конце, то просто создай глобальную переменную-счетчик.
так вроде так и делаю.. тут ерунда-то осталась... просто не знаю какой функцией воспользоваться, чтобы непосредственно дописать (см. код и комментарии)
Подскажете?
Заранее спасибо

Добавлено через 34 минуты
Вот ещё такой вариант есть, тут отлично всё дописывает, только вначале файла надо цифру переписать (например, там была 1, добавили 1 страну, должна стать 2). Не знаю как переписать ту единичку на 2. Это очень важно, т.к. не переписав число в начале, при последующем добавлении, всё пойдёт некорректно или вообще не пойдёт. Помогите.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
cout << "Сколько хотите стран добавить?\t";
            unsigned short number_country; 
            cin >> number_country;
            
            
            ifstream output("D:\\info.txt");
            int p;
            output>>p;
            
 
            world *res = new world[p+number_country];
            for (int i=0; i<p; i++)
            {
                output>>res[i].name;
                output>>res[i].capital;
                output>>res[i].population;
                output>>res[i].area;
            }
 
            system("cls");
            
            
            for (int i=p; i<p+number_country;i++)
            {
                wcin.ignore(256,L'\n');
                cout << "Название:\t\t\t";
                file << "Название:\t\t\t";
                getline(cin, res[i].name, '\n');
                file<<res[i].name<<endl;
 
                cout << "Столица:\t\t\t";
                file << "Столица:\t\t\t";
                getline(cin, res[i].capital, '\n');
                file<<res[i].capital<<endl;
 
                cout<<"Население:\t\t\t\t";
                file << "Население:\t\t\t\t";
                cin >> res[i].population;
                file<<res[i].population<<endl;
 
                cout<<"Площадь:\t\t\t\t";
                file << "Площадь:\t\t\t\t";
                cin >> res[i].area;
                file<<res[i].area<<endl<<endl;
            }
 
Текущее время: 12:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru