Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68

Запись и Чтение из файла Вектор

22.02.2016, 23:59. Показов 6367. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу никак разобраться как записывать в файл вектор. Раньше записывал дин. массивы, структуры. а с векторами беда. Вот тут придумал немножко файл создается но там пусто. Помогите пожалуйста.

тут я использую еще перегрузку. не знаю правильно ли я ее реализовал.
C++
1
2
3
4
std::ostream& operator<<(std::ostream& out,std::vector<Students> &vec)
{
    return out << vec << endl;
}
запись
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void read(std::vector<Students> *vec, ofstream & outfile, int size_arr)
{
    // std::ofstream outfile; //Запись в файл
    string line;
 
    outfile.open("filename");
 
    if (outfile.fail()) 
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
 
        for (int i = 0; i < size_arr; i++)
        {
            outfile << endl;
            outfile << setw(10) << vec[i];
        }
        outfile.close();
    }
}
а это чтение.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void vuvod_file(std::vector<Students> & vec, int size_arr, ifstream & ifile)
{
    char buffer[55];
    std::cout << "Студенты группы." << endl;
    std::cout << endl;
 
    //std::ifstream ifile; //Вывод из файла
    //Students *a = new Students[size_arr];
 
    ifile.open("filename");
 
    Students buff;
 
    //ifile >> buff;
 
    vec.push_back(buff);
 
    ifile.close();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2016, 23:59
Ответы с готовыми решениями:

Чтение из файла и запись в вектор
вобщем програмку, которая читает из файла строки и выводит в вектор написал. Но хотелось бы изменить код так, чтобы в вектор записывалось...

Запись и чтение в файл массива структур в которую вложен вектор
Здравствуйте! Подскажите как и можно ли вообще записать в один файл данную структуру: struct Xozorgan { char familia; char...

Чтение из файла в вектор
Доброго времени суток! Подскажите, пожалуйста, пишу как казалось довольно простую программу, требуется из файла матрицу считать и потом с...

40
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 13:34  [ТС]
Студворк — интернет-сервис помощи студентам
выполняю case 1 - он у меня для ввода в вектор, groupArray это вектор. ну а case 2 - это для вывода вектора
C++
1
2
std::vector<Students> groupArray(size_group);
    groupArray.reserve(10);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
case '1':
            system("cls");
 
            do
            {
                add(groupArray);
                std::cout << "\nВвести еще одного ?[y/n]: ";
                c = getch();
                cout << endl;
            } while (c != "n");
            
            read(groupArray, outfile, groupArray.size());
            break;
 
        case '2':
            system("cls");
            std::cout << "Размер группы " << groupArray.size() << " студ." << endl;
            for (int i = 0; i < groupArray.size(); i++)
            {
                groupArray.at(i).getStudents();
            }
            break;
Добавлено через 1 минуту
метод add
C++
1
2
3
4
5
6
7
void add(std::vector<Students> &vec)
{
    Students objbuff;
    objbuff.setStudents();
 
    vec.push_back(objbuff);
}
сеттер и геттер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Students::setStudents() //Сеттер
{
    cout << "Enter name: ";
    cin >> name;
    cout << "Enter name group: ";
    cin >> group;
    cout << "Enter size stepend: ";
    cin >> stepend;
    cout << endl;
}
 
void Students::getStudents() //Геттер
{
    cout << "|--------------------" << endl;
    cout << "|Name: " << setw(1) << name << endl;
    cout << "|Group: " << setw(1) << group << endl;
    cout << "|Stepend : " << setw(1) << stepend << endl;
    cout << "|--------------------" << endl;
    cout << endl;
}
Добавлено через 1 минуту
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* Задание 1 : Создать файл, в котором бы содеражались сведения о получении стипендии студентами,
имя, группа, и размеры группы. Написать программу, которые бы по фамилии студента выводила сведения о получении студентом
стипендии. Задача сводная семестровая ведомость.
Date: 16.02.2016
Autor: Kudrya A.*/
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <iterator>
#include <Windows.h>
#include <conio.h>
#include <algorithm>
 
#include "Students.h" //Подключаем класс Students.
 
using namespace std;
 
void loading();
 
int main()  //Главная функция
{
    SetConsoleCP(1251); //Подключение отображения русского языка.
    SetConsoleOutputCP(1251);
 
    ofstream outfile;
    ifstream ifile;
 
    int k;
    system("color F0"); //Enter Color White
    string c, p;
    std::string seach;
    char vubor;
    char error[4] = { '.','.','.','.' };
    int size_group = 0;
    
    std::vector<Students> groupArray(size_group);
    groupArray.reserve(10);
 
    loading();
 
    do //Меню
    {
        system("cls");
        std::cout << "Добро Пожаловать в базу данных группы!!!" << endl;
        std::cout << "------------------------------------------------------" << endl;
        std::cout << "\t1 - Добавить студентов." << endl;
        std::cout << "\t2 - Вывести группу." << endl;
        std::cout << "\t3 - Найти студента (по имени)." << endl;
        std::cout << "\t4 - Удалить студента из группы (по имени)." << endl;
        std::cout << "\t5 - Редактирование студента" << endl;
        std::cout << "\t6 - Запись в файл." << endl;
        std::cout << "\t7 - Вывод из файла." << endl;
        std::cout << "\t8 - Сортировка студентов по размеру стипендии." << endl;
        std::cout << "\t9 - Выход из Бд." << endl;
        std::cout << "------------------------------------------------------" << endl;
        std::cout << "Сделайте выбор [1 - 8]: ";
        vubor = getch();
 
        switch (vubor)
        {
        case '1':
            system("cls");
 
            do
            {
                add(groupArray);
                std::cout << "\nВвести еще одного ?[y/n]: ";
                c = getch();
                cout << endl;
            } while (c != "n");
            
            read(groupArray, outfile, groupArray.size());
            break;
 
        case '2':
            system("cls");
            std::cout << "Размер группы " << groupArray.size() << " студ." << endl;
            for (int i = 0; i < groupArray.size(); i++)
            {
                groupArray.at(i).getStudents();
            }
            break;
 
        case '3':
            system("cls");
            poisk(groupArray);
            break;
 
        case '4':
            system("cls");
            k = del(groupArray); //Удаление студента по имени
            groupArray.erase(groupArray.begin() + k - 1);
            //read(&groupArray, outfile, groupArray.size());
            break;
 
        case '5': //edit
            system("cls");
            edit(groupArray);
            break;
 
        case '6':
            system("cls");
            //read(&groupArray, outfile, groupArray.size());
            break;
 
        case '7':
            system("cls");
            //vuvod_file(&groupArray, groupArray.size(), ifile);
            break;
 
        case '8':
            system("cls");
            //sort_arr(groupArray, size_group); //Соритруем массив обьектов по размеру стипендии.
            //read(&groupArray, outfile, groupArray.size());
            break;
 
        case '9':
            system("cls");
            std::cout << "Удачи!, ждём вас снова." << endl;
            system("exit");
            break;
 
        default:
            system("cls");
            for (int j = 0; j < 3; j++)
            {
                std::cout << "Неправильный выбор -.-" << endl;
                std::cout << "error";
                for (int i = 0; i < 4; i++)
                {
                    Sleep(200);
                    std::cout << error[i];
                }
                system("cls");
            }
            std::cout << "Неправильный выбор -.-" << endl;
            std::cout << "error...";
            break;
        }
 
        std::cout << "\nВернутся в Главное меню ?[y/n]: ";
        c = getch();
        std::cout << endl;
    } while (c != "n");
 
    groupArray.clear();
 
    system("pause");
    return 0;
}
Добавлено через 1 минуту
read - это моя френд функция которая записывает в файл
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:08
Реализацию read() покажи.
1
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:08  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Функции работы с файлом.
void read(std::vector<Students> & vec, ofstream & outfile, int size_arr) //Запись в файл
{
    outfile.open("filename");
 
    if (outfile.fail()) 
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
 
        for (auto it = vec.begin(), end = vec.end(); it != end; ++it)
            outfile << *it;
        outfile << vec;
 
        outfile.close();
    }
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:12
Лучший ответ Сообщение было отмечено Ak98neon как решение

Решение

У тебя в if() когда заход будет?
Цитата Сообщение от Ak98neon Посмотреть сообщение
for (auto it = vec.begin(), end = vec.end(); it != end; ++it)
outfile << *it;
outfile << vec;
Тут два раза содержимое вектора записываешь.
1
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:15  [ТС]
О боже, как я этого не заметил, всё было на видном месте Спасибо огромное ОГРОМНЕЙШЕЕ. Теперь допилю сортировку вывод из файла и пойду сдавать.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:21
Цитата Сообщение от nd2 Посмотреть сообщение
Тут два раза содержимое вектора записываешь.
Это исправь, там достаточно: outfile << vec;
И лишнее в параметрах передаёшь: size_arr лишнее (вектор знает свой размер).

Добавлено через 2 минуты
Да и сама функция теперь лишняя, раз можно просто написать: outfile << vec;
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:22  [ТС]
да это уже исправил, спасибо. И еще один вопрос созрел при чтении из файла нужно ли как то через буферную переменную это всё пилить или как, а то у меня ошибку выбивает ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void vuvod_file(std::vector<Students> *vec, ifstream & ifile) //Чтение из файла
{
    char buffer[55];
    std::cout << "Студенты группы." << endl;
    std::cout << endl;
 
    ifile.open("filename");
 
    if (ifile.fail())
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
    }
 
    //ifile >> vec;
 
    ifile.close();
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:24
Цитата Сообщение от Ak98neon Посмотреть сообщение
std::vector<Students> *vec
Почему указатель, а не ссылка?
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:25  [ТС]
В этой строчке ошибка Error: no operator ">>" matches these operands operand types are: std::ifstream std::vector<Students, std::allocator<Studnets>*.
C++
1
 //ifile >> vec;
Добавлено через 1 минуту
Изменил на ссылку, ошибка осталась
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void vuvod_file(std::vector<Students> & vec, ifstream & ifile) //Чтение из файла
{
    char buffer[55];
    std::cout << "Студенты группы." << endl;
    std::cout << endl;
 
    ifile.open("filename");
 
    if (ifile.fail())
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
    }
 
    ifile >> vec;
 
    ifile.close();
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:29
Цитата Сообщение от Ak98neon Посмотреть сообщение
Изменил на ссылку, ошибка осталась
Вызов функции изменил?
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:30  [ТС]
C++
1
vuvod_file(groupArray, ifile);
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:31
Пересобери проект и текст ошибки покажи.
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:32  [ТС]
2 ошибки выбивает
1. Severity Code Description Project File Line
Error (active) no operator ">>" matches these operands Praktika c:\Users\neon\Documents\Visual Studio 2015\Projects\Praktika\Praktika\Students .h 259

2.Severity Code Description Project File Line
Error C2679 binary '>>': no operator found which takes a right-hand operand of type 'std::vector<Students,std::allocator<_Ty >>' (or there is no acceptable conversion) Praktika c:\users\neon\documents\visual studio 2015\projects\praktika\praktika\students .h 259
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:34
Students.h показывай.
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:36  [ТС]
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
#pragma once
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <iterator>
#include <iomanip>
#include <Windows.h>
 
using namespace std;
 
class Students
{
public:
    string name; //Имя студента
    string group; //Имя Группы
    int stepend; //Размер стипендии
public:
    //Коснтуркторы.
    Students(); //Конструктор по умолчанию
    Students(string n, char* gr, int step); //Конструктор инициализации
    Students(const Students & obj); //Констуктор копирования
 
    void setStudents(); //Сеттер
    void getStudents(); //Геттер
 
    //Перегрузки.
    friend std::ostream & operator<<(std::ostream & os, const Students & o); //Прегрузка оператора <<
    friend std::istream & operator>>(std::istream & is, Students & o); //Перегрузка оператора >>
 
    //Функции работы с векторами и бд.
    friend void edit(std::vector<Students> &vec); //Функция ркдактирования
    friend void Show(std::vector<Students> &vec); //Функция Вывода
    friend void add(std::vector<Students> &vec); //Функция добавления новых элментов
    friend void poisk(std::vector<Students> &vec); //Функция поиска по имени
    friend int del(std::vector<Students> & vec); //Функция удаления по имени из группы
    friend bool sort_arr(std::vector<Students> &vec); //Функция сортировки
 
    //Функции работы с файлом.
    friend void read(std::vector<Students> & vec, ofstream & outfile, int size_arr); //Запись в файл
    friend void vuvod_file(std::vector<Students> &vec, ofstream & outfile, int size_arr); //Чтение из файла
};
 
//Коснтуркторы.
Students::Students() //Конструктор по умолчанию
{
    name = "###";
    group = "##";
    stepend = 0;
}
 
Students::Students(string n, char* gr, int step) //Конструктор инициализации
{
    name = n;
    group = gr;
    stepend = step;
}
 
Students::Students(const Students & obj) //Констуктор копирования
{
    name = obj.name;
    group = obj.group;
    stepend = obj.stepend;
}
 
void Students::setStudents() //Сеттер
{
    cout << "Enter name: ";
    cin >> name;
    cout << "Enter name group: ";
    cin >> group;
    cout << "Enter size stepend: ";
    cin >> stepend;
    cout << endl;
}
 
void Students::getStudents() //Геттер
{
    cout << "|--------------------" << endl;
    cout << "|Name: " << setw(1) << name << endl;
    cout << "|Group: " << setw(1) << group << endl;
    cout << "|Stepend : " << setw(1) << stepend << endl;
    cout << "|--------------------" << endl;
    cout << endl;
}
 
//Перегрузки.
std::ostream & operator<<(std::ostream & os, const Students & o) //Прегрузка оператора <<
{
    os << o.name << endl;
    os << o.group << endl;
    os << o.stepend << endl;
    return os;
}
 
std::istream & operator>>(std::istream & is, Students & o) //Прегрузка оператора >>
{
    getline(is, o.name);
    is >> o.group;
    (is >> o.stepend).get();
    return is;
}
 
//Функции работы с векторами и бд.
void edit(std::vector<Students> &vec) //Редактирования записей
{
    string seach;
    cout << "Enter name: ";
    cin >> seach;
    cout << endl;
    std::find_if(std::begin(vec), std::end(vec), [=](Students & current) {
        if (current.name == seach)
        {
            char cc;
            do
            {
                system("cls");
                std::cout << "1 - Имя\n" << "2 - Группа\n" << "3 - Стипендия\n" << "0 - Выход" << endl;
                cc = getch();
                switch (cc)
                {
                case '1': 
                {
                    std::cout << "Было имя: " << current.name << " Введите новое имя: ";
                    std::cin >> current.name;
                    break; 
                }
 
                case '2': 
                { 
                    std::cout << "Была группа: " << current.group << " Введите новую группу: ";
                    std::cin >> current.group;
                    break; 
                }
 
                case '3': 
                { 
                    std::cout << "Была степендия: " << current.stepend << " Введите новую стипендию: ";
                    std::cin >> current.stepend;
                    break; 
                }
                default:
                    break;
                }
            } while (cc != '0');
            system("exit");
        }
 
        return 0;
    });
}
 
void add(std::vector<Students> &vec) //Добавления новых элементов в вектор
{
    Students objbuff;
    objbuff.setStudents();
 
    vec.push_back(objbuff);
}
 
void Show(std::vector<Students> &vec) //Вывод вектора
{
    for (int i = 0; i < vec.size(); i++)
    {
        vec.at(i).getStudents();
    }
}
 
void poisk(std::vector<Students> & vec) //Поиск по имени в векторе
{
    string seach;
    cout << "Enter name: ";
    cin >> seach;
    cout << endl;
    std::find_if(std::begin(vec), std::end(vec), [=](const Students & current) {
        if (current.name == seach)
        {
            std::cout << current.name << " имеет стипендию размером: " << current.stepend << "/мес и " << current.stepend * 12 << "/год." << endl;
        }
 
        return current.name == seach;
    });
}
 
int del(std::vector<Students> & vec) //Удаление из вектора записей
{
    int index;
    int k = 0;
    string seach;
    cout << "Enter name: ";
    cin >> seach;
    cout << endl;
    
    for (auto it = vec.begin(), end = vec.end(); it != end; ++it)
    {
        k++;
        if (it->name == seach)
        {
            index = k;
        }
    }
    vec.erase(vec.begin() + index - 1);
    return 0;
}
 
bool sort_arr(std::vector<Students> &vec) //Сортировка по размеру стипендии от большей к меньшей
{
    int index;
    int k = 0;
    for (auto it = vec.begin(), end = vec.end(); it != end; ++it)
    {
        k++;
        if (it->stepend < it->stepend)
        {
            //swap();
        }
    }
 
    system("cls");
    std::cout << "Please Wait..." << endl;
    Sleep(700);
    system("cls");
    std::cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
    std::cout << "|Студенты в группе отсротированны по размеру стипендии.|" << endl;
    std::cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
    return true;
}
 
//Функции работы с файлом.
void read(std::vector<Students> & vec, ofstream & outfile) //Запись в файл
{
    outfile.open("filename");
 
    if (outfile.fail())
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
    }
        for (auto it = vec.begin(), end = vec.end(); it != end; ++it)
            outfile << *it;
 
        outfile.close();
}
 
void vuvod_file(std::vector<Students> & vec, ifstream & ifile) //Чтение из файла
{
    char buffer[55];
    std::cout << "Студенты группы." << endl;
    std::cout << endl;
 
    ifile.open("filename");
 
    if (ifile.fail())
    {
        cout << "\n Ошибка открытия файла";
        exit(1);
    }
 
    ifile >> vec;
 
    ifile.close();
}
Добавлено через 50 секунд
тут немножко изменил
C++
1
2
friend void read(std::vector<Students> & vec, ofstream & outfile); //Запись в файл
    friend void vuvod_file(std::vector<Students> &vec, ofstream & outfile); //Чтение из файла
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:41
Ты же операторы записи/чтения для вектора не определил. И что ты тогда хочешь? Как у тебя тогда это ошибку не выдавало?
Цитата Сообщение от Ak98neon Посмотреть сообщение
outfile << vec;
Тут ты уже изменил это. Смотри 14 пост.
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:44  [ТС]
Вы об этом ?
C++
1
2
ofstream outfile;
    ifstream ifile;
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:44
И убери члены-данные класса в private, иначе зачем тебе эти friend?
0
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 68
23.02.2016, 14:44  [ТС]
если да, то они у меня объявлены в main, и от туда как параметры передаются.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
23.02.2016, 14:45
Цитата Сообщение от Ak98neon Посмотреть сообщение
Вы об этом ?
...
Цитата Сообщение от nd2 Посмотреть сообщение
Смотри 14 пост.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.02.2016, 14:45

Чтение из файла в вектор
Нужно написать программу, которая делает чтение из файла и запись в файл в обратном порядке(по символам).Решил сделать через вектор, но...

Посимвольное чтение файла в вектор
Вечер добрый. Есть файл sir.in.txt, содержащий строку ABC; посимвольно записываю его в вектор следующим образом: ifstream...

Чтение данных из файла в вектор
Доброго времени суток. Никак не могу разобраться, поиск по форуму не помог. У меня есть функция сохранения вектора в файл if...

Чтение из файла в вектор по одному слову
Как сделать, чтобы на каждый итератор i было отдельное слово, а не целая строка? слова отделены пробелами vector&lt;string&gt; arr; ...

Чтение текстового файла в вектор типа char
Имеется текстовый файл. Необходимо прочитать его ПОЛНОСТЬЮ, включая все символы переноса строки (и 0A и 0D), все пробелы, нулевые символы...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru