Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Архитектура программы "Морской бой" Пишу морской бой, с возможностью игры, как с компьютером, так и с другим человеком по сети. Не получается продумать архитектуру программы. В программе хочу использовать паттерн Strategy, чтоб можно было иметь несколько стратегий игры (AI) и MVC. Код не нужен, буду рад какому-нибудь псевдо-UML'у или простому текстовому описанию как организовать классы в программе. https://www.cyberforum.ru/ cpp-beginners/ thread835734.html Найти количество цифр, которые входят в каждое из 3 чисел C++
Даны три натуральных числа А, В, С. Найдите количество цифр, входящих одновременно в состав каждого из для этих чисел. Входные данные: 3 числа, каждое в своей строке, не больше 1000000. Выходные данные: единственное число - искомая величина. Например, на входе: 234087 408209 1804 На выходе: 3
C++ Игра со спичками https://www.cyberforum.ru/ cpp-beginners/ thread835727.html
Сама игра следующая: на стол выкладывается достаточно большая кучка спичек (не менее 50). Каждый игрок при своем ходе берет спички из кучки. Нужно взять, по крайней мере, одну и не более, чем вдвое больше, чем взял предыдущий игрок. Выигрывает тот, кто берет последнюю спичку. Нужно реализовать выигрышную стратегию для компьютера.
C++ Принадлежит ли точка заштрихованой области? C++ (VS 2010) Вот получилось, но как добавить, чтобы проверять треугольники и окружность?? #include <iostream> using namespace std; int main() { setlocale (0, "Russian"); double x,y; cout<<"Введите Х : "; https://www.cyberforum.ru/ cpp-beginners/ thread835726.html
C++ Задачи с олимпиады
Помогите разобраться с данными задачами с олимпиады: 1. Вводиться 3 остатка от деления числа на 971, 997 и 1033. Вывести это число. Например: I: 5 10 15 O: 835049324 Ограничения: 64 мб памяти, время 1 с Мое решение: #include <iostream>
C++ Сформировать массив указанной размерности и типа https://www.cyberforum.ru/ cpp-beginners/ thread835713.html
1. Сформировать массив указанной размерности и типа. 2. Выполнить необходимые преобразования. 3. Вывести входные и преобразованные данные, предоставив им соответствующие комментарии. 4. Отсортировать полученный массив и вывести результат на экран. а)В массиве С заменить все элементы, следующие за наименьшим элементом единицами. б)Выходные данные: массив А действительных чисел...
C++ По выбору пользователя (реализуется через оператор switch) решить указанную задачу, использовав собственные функции https://www.cyberforum.ru/ cpp-beginners/ thread835709.html
По выбору пользователя (реализуется через оператор switch) решить указанную задачу, использовав собственные функции. Программу оформить в оконно-текстовом интерфейсе. 1. гипотенуза и площадь прямоугольного треугольника по известным катетами 2. сумма цифр числа 3. перевод температуры из градусов по шкале Цельсия в градусы по шкале Кельвина Заранее спасибо.
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты C++
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. Вычислить B = f (x, k, y) +0.8 f2 (x, y, y-k), при k = 0.6, x = 3.8, y = 0.042, если f (x, y, z) = 2y + x +4 z2 Заранее спасибо.
C++ Написать программу нахождения суммы https://www.cyberforum.ru/ cpp-beginners/ thread835705.html
Написать программу нахождения суммы: а) n членов ряда для заданного х с помощью цикла с параметром; б) членов ряда с точностью ε для заданного х и их количество, используя цикл с постусловием. в) членов ряда с точностью ε для заданной последовательности х. Во внешнем цикле для подачи аргумента х использовать оператор цикла с предусловием, во внутреннем - вычислить сумму для конкретного х с...
C++ Проверка близости графических объектов https://www.cyberforum.ru/ cpp-beginners/ thread835703.html
Здравствуйте! помогите реализовать проверку близости графических объектов. У меня есть объекты класса квадрат, которые содержат массивы вершин этих квадратов, координаты центра, угол поворота и т.д. Я отрисовываю все эти объекты на канве и могу их перемещать. Мне нужно, чтобы при перемещении одного квадрата по канве, осуществлялась проверка близости к другим квадратам и как только расстояние...
C++ Не выводятся простые числа
Нужно написать программу вывода простых чисел. Программу написал, при компилировании ошибок нет, но почему-то ничего не отображается. Помогите найти ошибку #include<iostream> using namespace std; int main() { setlocale(0,""); int a = {1},k ; for (int i = 3; i < 1000; i++) { k = 2;
C++ Написать функцию randint() Задание из учебника Страуструпа "Принципы и практика использования С++". Напишите простую функцию randint(), генерирующую псевдослучайные числа в диапазоне . Автор ссылается на учебника Кнута "Искусство программирования. Том 2", где можно бы почерпнутьинформацию о случайных числах. Но материал там сложноватый для моего уровня. В чем суть задания - придумать
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 22
15.04.2013, 09:58  [ТС] 0

Запись string в бинарный файл - C++ - Ответ 4415279

15.04.2013, 09:58. Показов 2892. Ответов 15
Метки (Все метки)

Ответ

igorrr37, по вашему варианту:
C++
1
2
3
4
5
6
7
8
length = temp->t.name.size();
            file_obj.write((char const*)&length, sizeof(length)).write(temp->t.name.data(), length);
            length = temp->t.family.size();
            file_obj.write((char const*)&length, sizeof(length)).write(temp->t.family.data(), length);
            length = temp->t.brith_Date.size();
            file_obj.write((char const*)&length, sizeof(length)).write(temp->t.brith_Date.data(), length);
            length = temp->t.tel.size();
            file_obj.write((char const*)&length, sizeof(length)).write(temp->t.tel.data(), length);
C++
1
2
3
4
5
6
7
8
9
10
11
12
temp->t.name.resize(length);
            file_obj.read(&temp->t.name[0], length);
            file_obj.read((char*)&length, sizeof(length));
            temp->t.family.resize(length);
            file_obj.read(&temp->t.family[0], length);
            file_obj.read((char*)&length, sizeof(length));
            temp->t.brith_Date.resize(length);
            file_obj.read(&temp->t.brith_Date[0], length);
            file_obj.read((char*)&length, sizeof(length));
            temp->t.tel.resize(length);
            file_obj.read(&temp->t.tel[0], length);
            file_obj.read((char*)&length, sizeof(length));
файл создает без проблем, а вот при попытке считать с файла, всё виснет, вся система, не могу даже остановить процесс программы, приходится перезагружать

С бустом интересно, но надо так попытаться понять.
Спасибо всем тем, кто отзывается

Добавлено через 2 часа 29 минут
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
void Spravochnick::outputFile(const std::string& fname) {
    Node<Anketa>* temp = list.head();
    std::ofstream file_obj(fname.c_str());
    std::string::size_type length;
    int sz;
    for (int i = 0; i < list.size(); i++){
 
        sz = temp->t.name.size();
        file_obj.write((const char*)&sz,sizeof(int));
        file_obj.write(temp->t.name.data(), sz);
        
        sz = temp->t.family.size();
        file_obj.write((const char*)&sz,sizeof(int));
        file_obj.write(temp->t.family.data(), sz);
        
        sz = temp->t.brith_Date.size();
        file_obj.write((const char*)&sz,sizeof(int));
        file_obj.write(temp->t.brith_Date.data(), sz);
        
        sz = temp->t.tel.size();
        file_obj.write((const char*)&sz,sizeof(int));
        file_obj.write(temp->t.tel.data(), sz);
 
        temp=temp->_next;
    }
    file_obj.close();
}
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
void Spravochnick::inputFile(const std::string& fname) {
    char sz_char;
    int sz_int;
    std::ifstream file_obj(fname.c_str());
    std::string::size_type length;
    do {    
        Node<Anketa>* temp = new Node<Anketa>;
        
        file_obj.read((char*)&sz_char, sizeof(int));
        sz_int = (int)sz_char;
        file_obj.read((char*)temp->t.name.data(), sz_int);
        
        file_obj.read((char*)&sz_char, sizeof(int));
        sz_int = (int)sz_char;
        file_obj.read((char*)temp->t.family.data(), sz_int);
        
        file_obj.read((char*)&sz_char, sizeof(int));
        sz_int = (int)sz_char;
        file_obj.read((char*)temp->t.brith_Date.data(), sz_int);
        
        file_obj.read((char*)&sz_char, sizeof(int));
        sz_int = (int)sz_char;
        file_obj.read((char*)temp->t.tel.data(), sz_int);
        
            list.addTail(temp->t);
    } while (!file_obj.eof());
    list.delTail();
    file_obj.close();
}
Сейчас ситуация такая, запись происходит и по откладчику происходит и считывание, хотя не много не правильное. Но при вызове функции AddTail(temo->t) уже почему то пустая, т.е. добавляет пустой элемент, опять с указателями напутал видимо.

Вернуться к обсуждению:
Запись string в бинарный файл C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2013, 09:58
Готовые ответы и решения:

Запись string в бинарный файл
Задача такая. Записать в бинарный файл строку string, а потом убедится, что все было записано...

Запись string в бинарный файл
Здравствуйте еще раз! ^_^ Хочу понять, как правильно записывать бинарный файл и считывать...

Std:string в бинарный файл и обратно
Извините! Тупонул. Уже сам всё сделал. Не знаю как только тему удалить теперь.

Как класс string записать в бинарный файл через вектор?
вопрос такой у меня есть класс. я создаю вектор по этому классу vector&lt;Employee&gt; work; вектор...

15
15.04.2013, 09:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2013, 09:58
Помогаю со студенческими работами здесь

Запись в бинарный файл
Скажите пожалуйста, правильно ли работает моя программа? (Имеется ввиду запись в бинарный файл) ...

Запись в бинарный файл
Всем привет. Столкнулся с следующей проблемой при написании курсача,а именно с записью в бинарный в...

Запись в бинарный файл
Подскажите как записать данные из StringGrid в бинарный файл и компоновка допустим из 2 StringGrid ...

Запись в бинарный файл
Вот функция добавления данных: void addConstellations() { system(&quot;CLS&quot;); int n; wcout &lt;&lt;...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru