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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
leperez
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 8
#1

Записать vector<vector<wchar_t>> в текстовый файл - C++

11.08.2015, 14:31. Просмотров 416. Ответов 7
Метки нет (Все метки)

Подскажите пожалуйста, как записать vector<vector<wchar_t>> в файл. Файл необходимо открывать через _wfopen. Пробую так, не получается. Подскажите как это реализовать правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 FILE* file;
                vector<vector<wchar_t>>
        file = _wfopen(path, L"wt+, ccs=UTF-8");
        //ostream_iterator<int> outfile(file, " ");
        if (outfile == NULL)
        {
            wprintf(L"Select another directory");
        }
        else
        {   
            for (i=0; i < temp.size(); i++)
            {       
                  fwrite(temp_output_parsing_text[i].begin(), temp_output_parsing_text[i].end(), 1, file);
            }
        fclose(outfile);
        }
Понимаю, что то что записано в fwrite бред, но не могу разобраться как правильно реализовать.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2015, 14:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать vector<vector<wchar_t>> в текстовый файл (C++):

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>> - C++
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа, разделенные пробелами и запятыми: 1, 2, 3,...

Записать vector в файл - C++
Как записать в файл вектор???? #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;vector&gt; #include&lt;fstream.h&gt; ...

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...

Ребята есть ли метод vector <bool> записать в бинарный файл? - C++
Всем доброго времени. Возник вопрос есть ли такой хитрый способ чтоб можно было записать в бинарник значения булл имеем vector &lt;bool&gt;...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)' - C++
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include &quot;Vector.h&quot; int...

7
hoggy
6701 / 2883 / 494
Регистрация: 15.11.2014
Сообщений: 6,480
Завершенные тесты: 1
11.08.2015, 14:39 #2
C++
1
2
3
4
5
6
7
8
9
10
11
            const wchar_t* filename = L"config.cfg";
 
            std::wofstream file( filename, std::wofstream::out|std::wofstream::trunc);
 
            if(!file)
                return false;
 
            file.imbue(std::locale("")),
            file << L"здесь могла бы быть ваша реклама" << std::endl;
 
            return true;
1
leperez
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 8
11.08.2015, 16:10  [ТС] #3
Да действительно через wofstream записать в файл проще и как раз знаю как записать в файл vector<> через copy().
Но мне нужно записать файл, при открытии его с помощью fopen
0
Vort_
188 / 188 / 52
Регистрация: 10.07.2012
Сообщений: 400
11.08.2015, 18:22 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
так подходит?
C++
1
2
3
4
5
6
7
8
9
10
11
12
    vector<vector<wchar_t>> data;
    data.push_back({ L'т', L'е', L'с', L'т', L'1' });
    data.push_back({ L't', L'e', L's', L't', L'1', L'2' });
    FILE* file = _wfopen(L"testfile", L"wt+, ccs=UTF-8");
    for (size_t i = 0; i < data.size(); i++)
    {
        if (i != 0)
            fwrite(L"\n", sizeof(wchar_t), 1, file);
        if (data[i].size() != 0)
            fwrite(&data[i][0], sizeof(wchar_t), data[i].size(), file);
    }
    fclose(file);
1
leperez
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 8
12.08.2015, 00:21  [ТС] #5
Да спасибо, что просвятили, в самую точку. И лишний мусор не записывается.
0
leperez
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 8
22.08.2015, 02:03  [ТС] #6
В продолжение темы: подскажите, как будет выглядеть эта же запись в файл, но только если data будет вектором указателей на объект класса: vector<Class1*> data
0
nmcf
5544 / 4854 / 1647
Регистрация: 14.04.2014
Сообщений: 19,710
22.08.2015, 07:44 #7
Каждый объект придётся индивидуально записывать во вложенном цикле.
1
leperez
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 8
22.08.2015, 10:35  [ТС] #8
Спасибо, сообразил как реализовать.
0
22.08.2015, 10:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2015, 10:35
Привет! Вот еще темы с ответами:

vector<Struct2{int,vector<struct1>}> или множественное наследование ... - C++
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; int y; // координаты...

Как корректно скопировать vector в vector внутри класса - C++
Есть класс принимающий в конструкторе vector: class test { test(std::vector&lt;std::string&gt; codeList); ~test(); ...

Указатель на объект вектор в векторе vector < vector<int>* >* - C++
Дело касается вот чего, есть такая вот незатейлевая вещь. #include &lt;vector&gt; #include &lt;iostream&gt; int main( ) { using...

Struct / Vector / Expression: vector subscript out of range - C++
Добрый вечер. Имеется структура: struct Contact { public: string name; vector&lt;string&gt; phoneNumber; };


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru