Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2018, 16:08   #1
nura satre
Пользователь
 
Регистрация: 10.03.2018
Сообщений: 26
По умолчанию C++. Работа с файлами

Есть два файла f и g. Записать в файл h все совпадающие компоненты. Вывести содержимое файлов на экран.
Код:
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
   char s[100];
   cout<<"File f"<<endl;
   FILE* f1 = fopen("f.txt", "r");

   while (fgets(s, 100, f1))
   {
      printf("%s", s);
   }

   char m[100];
   cout<<"File g"<<endl;
   FILE* f2 = fopen("g.txt", "r");

   while (fgets(m, 100, f2))
   {
      printf("%s", m);
   }
   return 0;
}
пока что у меня просто выводит содержимое двух файлов.
как мне записать одинаковые числа в третий файл? и чтобы эти числа тоже на экран выводились?
nura satre вне форума Ответить с цитированием
Старый 05.06.2018, 16:21   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от nura satre Посмотреть сообщение
как мне записать одинаковые числа в третий файл?
Открыть третий файл. Сравнить прочитанное из других двух и записать если надо. Л - логика!

Цитата:
Сообщение от nura satre Посмотреть сообщение
и чтобы эти числа тоже на экран выводились?
Написать еще один принтф.
p51x вне форума Ответить с цитированием
Старый 05.06.2018, 16:35   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Почему то у меня сразу вот такие ассоциации возникают ... ))
Изображения
Тип файла: jpg idio.jpg (19.5 Кб, 53 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 05.06.2018, 17:01   #4
nura satre
Пользователь
 
Регистрация: 10.03.2018
Сообщений: 26
По умолчанию

Код:
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
   char s[100];
   cout<<"File f"<<endl;
   FILE* f1 = fopen("f.txt", "r");

   while (fgets(s, 100, f1))
   {
      printf("%s\n", s);
   }

   char m[100];
   cout<<"File g"<<endl;
   FILE* f2 = fopen("g.txt", "r");

   while (fgets(m, 100, f2))
   {
      printf("%s\n", m);
   }

     FILE* f4 = fopen("f.txt", "r");
     FILE* f5 = fopen("g.txt", "r");
     FILE *f3 = fopen("h.txt", "w");
     cout<<"File h "<<endl;
     while (fgets(s, 100, f4),fgets(m, 100, f5))
   {
     if (f4=f5)
     {
         printf("%s\n", s,m);
         fprintf(f3,"%s\n",s,m);
     }
   }

   return 0;
}
что не так? укажите на ошибку
nura satre вне форума Ответить с цитированием
Старый 05.06.2018, 17:09   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
if (f4=f5)
Уверены, что нужно сравнивать файловые переменные, а не m и s?

И зачем выводить в третий файл оба значения (s и m), если они совпадают?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.06.2018, 17:11   #6
nura satre
Пользователь
 
Регистрация: 10.03.2018
Сообщений: 26
По умолчанию

сначала так и написала, но выбило ошибку.
error: invalid array assignment
nura satre вне форума Ответить с цитированием
Старый 05.06.2018, 17:14   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
error: invalid array assignment
Естественно, в C++ "нельзя просто так взять и сравнить две строки" (с) Боромир

http://www.prostocpp.narod.ru/compare_of_strings.html

Ну или можете написать собственную функцию посимвольного сравнения.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами furgingerbread Общие вопросы Delphi 2 19.03.2017 12:24
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 08:44
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами Konlor Общие вопросы C/C++ 2 18.05.2014 12:37
Работа с файлами С++ etob Помощь студентам 0 18.05.2011 06:43
Работа с файлами Скрунж Паскаль, Turbo Pascal, PascalABC.NET 1 18.10.2008 15:19