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

Записать в созданный файл все строки из файла add.txt - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Записать данные двух бинарных файлов в один http://www.cyberforum.ru/cpp-beginners/thread1198497.html
Здравствуйте, столкнулся с проблемой. Нужно записать значения двух бинарных файлов в один, но при этом записанные значения не должны повторятся.:wizard: Не получается записать данные из двух бинарных файлов в один, по какой-то причине записывает только данные из файла a.dat, а данные из файла b.dat напрочь игнорирует. Помогите пожалуйста%-) #include <iostream> #include <fstream> #include...
C++ Не получается ограничить количество знаков после запятой #include <iostream> #include <string> #include <sstream> #include <iomanip> #include <cmath> using namespace std; class Array { public: http://www.cyberforum.ru/cpp-beginners/thread1198493.html
Сортировка структур по убыванию C++
Прошу помочь! Нужно написать подпрограмму, для упорядочения рейсов по спаданию. //Bred10 #include <fstream.h> #include <stdlib.h> #include <conio.h> struct AEROFLOT { char punkt ,lit; int reis; };
C++ Создание массива из элементов бинарного дерева
Данная программа ищет листья в старом дереве и создает из них новое. Мне нужно также создать массив,состоящий из неповторяющихся потомков четных отцов. Я накидал такую функцию,но она не рабит void searchlist(node *der, int A) { node *next,*tek; next=tek=der; while (next!=NULL) { tek=next;
C++ Из файла после определенного символа в нужной строке вывести оставшуюся строку на экран http://www.cyberforum.ru/cpp-beginners/thread1198462.html
#include<iostream> #include<string> #include<conio.h> #include<Windows.h> #include<fstream> #include<vector> #include<stdio.h> #include <iterator> using namespace std;
C++ Узнать, куда указывает strstr Здравствуйте, у меня есть массив. С помощью STRSTR я проверяю его на наличие строки, но как мне на каком по счету элементе массива сработала функция STRSTR. Просто задача состоит в том что бы изменить элемент на котором срабатывает функция, вот мне и нужно узнать номер элемента в массиве. Помогите пожалуйста, очень срочно нужно. подробнее

Показать сообщение отдельно
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
05.06.2014, 06:29     Записать в созданный файл все строки из файла add.txt
Цитата Сообщение от frontez Посмотреть сообщение
можешь отправить примеры работы с потоками данных которые берутся из файла?
Допустим чтобы в дальнейшем можно еще было выполнять над ними операции добавления, изменения, удаления
В простейшем случае - читаешь весь массив в память, выполняешь требуемые действия и сохраняешь обратно.
Вот кому-то показывал сортировку вектора структур, там есть сериализация вектора структур в файл и обратно:

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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <clocale>
#include <algorithm>
#include <sstream>
 
using namespace std;
 
struct ppl_age
{
  std::string name;
  int age;
};
 
std::ostream& operator<< (std::ostream& stream, const ppl_age& age_rec)
{
   stream<<age_rec.name;
   stream<<" ";
   stream<<age_rec.age;
   return stream;
}
 
std::istream& operator>> (std::istream& stream, ppl_age& age_rec)
{
   stream>>age_rec.name;
   stream>>age_rec.age;
   return stream;
}
 
bool createTestFile()
{
   std::vector<ppl_age> age_records;
   ppl_age new_age_rec;
   new_age_rec.name = "btest";
   new_age_rec.age = 10;
   age_records.push_back(new_age_rec);
   new_age_rec.name = "btest";
   new_age_rec.age = 20;
   age_records.push_back(new_age_rec);
   new_age_rec.name = "atest";
   new_age_rec.age = 20;
   age_records.push_back(new_age_rec);
   ofstream fout;
   fout.open("ppl.txt");
   if(fout.is_open())
   {
      for(unsigned age_cnt = 0; age_cnt<age_records.size();age_cnt++)
      {
         fout << age_records[age_cnt] << endl;
      }
      fout.close();
   }
   else
   {
      cout << "Can't open output file" << endl;               
      return false;
   }   
   return true;
}
 
bool isFirstGreater(const ppl_age& first, const ppl_age&  second)
{
   if(first.age > second.age) 
      return true;
   if(first.age == second.age)
      return first.name<second.name;
   return false;
}
 
int main()
{
   createTestFile();
   std::vector<ppl_age> age_records;
   ifstream fin;
   fin.open ("ppl.txt");
   if(fin.is_open())
   {
      while(true)
      {
         ppl_age new_age_rec;
         fin>>new_age_rec;
         if(fin.good())
            age_records.push_back(new_age_rec);
         else
            break;
      }
      fin.close();
   }
   std::sort(age_records.begin(),age_records.end(),isFirstGreater);
   for(unsigned age_cnt = 0; age_cnt<age_records.size();age_cnt++)
   {
      cout << age_records[age_cnt] << endl;
   }
   system ("pause");
   return 0;
}
Оно правда обломится на имени с пробелом к примеру, но тут сорри, дальше сами
 
Текущее время: 05:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru