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

Забекапить и восстановить вектор из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread268876.html
Дана квадратная матрица. Поменять последние элементы каждого столбца с элементами главной диагонали.
C++ Процедуры и функции. Общие вопросы. Раньше изучал Паскаль теперь решил попробовать С++. В Паскале если описать процедуру так procedure example (var A:char; B:char); то внутри процедуры переменную "А" мы можем изменять, а переменную... http://www.cyberforum.ru/cpp-beginners/thread268873.html
C++ Двумерные массивы
Дана прямоугольная матрица. Опpеделить: 1. количество строк, среднее арифметическое элементов которых меньше заданной величины(n с клавиатуры) 2. уплотнить заданную матрицу, удаляя из нее...
C++ Класс
Есть класс: class a { public: int i = 4; browser br; }; Как сделать чтобы при создании объекта класса, объект br создавался не сразу, а только при присвоении: a cl; cl.br = ...;
C++ Формула в формате C/C++ http://www.cyberforum.ru/cpp-beginners/thread268849.html
Формула в формате C/C++ Помогите пожалуйста переделать формулу на картинке в формат с++. Буду очень благодарна!
C++ Деление пополам(бинарный поиск) Всем доброго времени суток! уже часа 2 ломаю голову над проблемой: комьютер должен отгадать число за 10 или менее вопросов в диапозоне от 1 до 1000 применить идею методом деления пополам(бинарного... подробнее

Показать сообщение отдельно
Kadet89
2 / 2 / 0
Регистрация: 18.09.2009
Сообщений: 107
03.04.2011, 16:45  [ТС]
Цитата Сообщение от Ma3a Посмотреть сообщение
...только данный код рассчитан на то, что память под хранилище вектора выделена и имеет такой же размер, что и количество байтов, считанное из файла, иначе будут проблемы.
Ну это не проблема
Большое спасибо

Добавлено через 21 час 44 минуты
Вот собрал всё в кучу, но не заработало. Файл даже не создается. Создал вручную, выставил права на запись, но всёравно приложение в него ничего не заносит...

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
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <iostream>
#include <fstream>
 
void myOutput(const std::vector<int> &day_us)
        {
        std::ofstream outfile("test.txt", std::ios::out | std::ios::binary);
        std::ostreambuf_iterator<char> it(outfile);
        std::copy((char *)(&day_us[0]),(char *)(&day_us[0] + day_us.size()),it);
        outfile.close();
        }
 
void myInput(std::vector<int> &my)
        {
        std::ifstream infile("test.txt",std::ios::in | std::ios::binary);
        std::istreambuf_iterator<char> it(infile);
        std::copy(it,std::istreambuf_iterator<char>(),(char *)&my[0]);
        infile.close();
        }
 
int main()
{
 
    std::vector<int> day_us;
    std::vector<int> vost;
 
    day_us.resize(10);
    vost.resize(5);
    day_us.reserve(250);
    vost.reserve(250);
 
    day_us.push_back(11);
    day_us.push_back(13);
    day_us.push_back(666);
    day_us.push_back(898);
    day_us.push_back(1028);
 
    myOutput(day_us); // Сохраняем массив в файл
    myInput(vost); // Загружаем массив из файла
 
    for (int i = 0; i < day_us.size(); i++)
        std::cout << "Исход: " << day_us[i] << "\n"; // Выводим массив на запись
 
    for (int a = 0; a < vost.size(); a++)
        std::cout << "Восст: " << vost[a] << "\n"; // Выводим восстановленный массив
 
}
Если занять файл другим приложением, то выводится "Отказано в доступе". Т.е. приложение всётаки его открывает...
Пробовал занести в него значения вручную, но вектор из них не восстановился
Консоль:
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 0
Исход: 11
Исход: 13
Исход: 666
Исход: 898
Исход: 1028
Восст: 0
Восст: 0
Восст: 0
Восст: 0
Восст: 0
конец
Полагаю ошибки в строках 40 и 41?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru