Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- #include <cstdlib>
- #include <fstream>
- using namespace std;
- void writeFile(list<int> l), writeList(list<int> l), printList(list<int> l);
- list<int> readInList(), formList(), delElem(list<int> l, int num);
- int main()
- {
- setlocale(LC_ALL, "russian");
- /*list<int> l = formList();
- writeList(l);*/
- list<int> k = readInList();
- printList(k);
- k = delElem(k, 2);
- writeFile(k);
- list<int> p = readInList();
- printList(p);
- system("pause");
- return 0;
- }
- list<int> formList() // функция формирования списка
- {
- list<int> l;
- int temp;
- cout << "Ввод значений : ";
- while (cin >> temp)
- l.push_back(temp);
- return l;
- }
- void writeList(list<int> l) // функция записи списка в двоичный файл
- {
- fstream bin("bin.txt", ios_base::binary | ios_base::out | ios_base::app);
- int temp;
- for (list<int>::iterator i = l.begin(); i != l.end(); i++)
- {
- temp = *i;
- bin.write((char*)&temp, sizeof(int));
- }
- bin.close();
- }
- list<int> readInList() //функция чтения из двоичного файла
- {
- int temp;
- fstream bin("bin.txt", ios_base::binary | ios_base::in | ios_base::app); //открыли файл
- list<int> rl; // создали список
- //bin.seekg(0, ios_base::beg); //устанавливаем указатель на начало
- while (true) // пока верно считываем в файл
- {
- bin.read((char*)&temp, sizeof(int)); // втение в файл
- if (bin.eof()) break; // пока не конец файла
- rl.push_back(temp); // записать в новый список
- }
- bin.close();
- return rl; //вернуть новый список
- }
- void printList(list<int> l) //функция вывода списка на экран
- {
- cout << "Вывод значений: ";
- for (list<int>::iterator i = l.begin(); i != l.end(); i++)
- cout << *i << ' ';
- cout << endl;
- }
- list<int> delElem(list<int> l, int num) //функция удаления элемента из списка
- {
- for (list<int>::iterator i = l.begin(); i != l.end(); i++)
- {
- if (*i == num)
- {
- l.pop_back();
- break;
- }
- }
- return l;
- }
- void writeFile(list<int> l)
- {
- fstream bin("bin.txt", ios_base::binary | ios_base::out | ios_base::trunc);
- int temp;
- for (list<int>::iterator i = l.begin(); i != l.end(); i++)
- {
- temp = *i;
- bin.write((char*)&temp, sizeof(int));
- }
- bin.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement