Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.05.2022
Сообщений: 55

Программа сравнивающая есть ли один из файлов частью другого

30.10.2022, 18:42. Показов 227. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть код который сравнивает содержимое двух текстовых файлов по полной идентичности, как сделать так чтобы выполнялось сравнение за тем, является ли содержимое одного из файлов частью другого (то есть сравнение не по полной идентичности а по частичной)

Вот код который сравнивает содержимое двух файлов по полной идентичности
Code
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
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int const N = 1024;
int main() {
    ///// вибір файлів для порівняння /////
    ifstream* fin = new ifstream[2];
    for (int i = 0; i < 2; i++) {
        cout << "Введіть ім'я файлу:";
        string s;
        cin >> s;
        fin[i].open(s.c_str(), ios::binary | ios::in);
        if (!fin[i].is_open()) { // перевірка
            cout << "Помилка відкриття файлу!" << endl;
            i--;
        }
    }
    unsigned char buf1[N], buf2[N];
    cout << "Порівняння файлів..." << endl;
    do {
        fin[0].read((char*)buf1, sizeof buf1);
        fin[1].read((char*)buf2, sizeof buf2);
        // кількість прочитаних символів
        int f1 = fin[0].gcount();
        int f2 = fin[1].gcount();
 
       
            if (f1 != f2) {
                cout << "Файли мають різні розміри." << endl;
                fin[0].close();
                fin[1].close();
                return 0;
            }
        // порівняння вмісту
        for (int j = 0; j < f 1; j++) {
            if (buf1[j] != buf2[j]) {
                cout << "Файли мають різний вміст." << endl;
                fin[0].close();
                fin[1].close();
                return 0;
            }
        }
    } while (!fin[0].eof() || !fin[1].eof());
    cout << "Файли однакові." << endl;
    fin[0].close(); // закриття файлу
    fin[1].close();
    return 0;
}
Спасибо большое!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2022, 18:42
Ответы с готовыми решениями:

Проверить, является ли один файл частью другого
Выполнение сравнения того, есть ли один из файлов частью другого.

Найти слова, которые есть частью другого слова
Здраствуйте. Столкнулся с трудностями выполнения лабораторной работы: Дана последовательность, содержащая слова, в каждом из которых от 1...

Программа сравнивающая 2 массы
Рис расфасован в два пакета. Масса первого - m кг, второго – n кг. Составить программу, определяющую: а) какой пакет тяжелее - первый...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2022, 18:42
Помогаю со студенческими работами здесь

Программа сравнивающая треугольники
Нужна программка, сравнивающая треугольники по 1, 2 и 3 признаку. Помогите плиз, оч нада.

Сформировать один массив из другого (есть код)
&quot;Сформировать массив K. Вывести его. Из элементов массива, абсолютное значение которых не превышает пяти, сформировать массив C. Вывести...

Программа, сравнивающая 2 текстовых файла
ребята, прошу помочь разобраться с программой на чистом СИ. В 1 файле текст, во 2 некоторые слова, встречающиеся в тексте из первого файла....

Программа, сравнивающая строчки массива
есть программа которая сравнивает элементы массива а нужно сравнивать группы элементов чтобы сравнить строки( 1 элемент 1 строки с 1...

Программа, объединяющая несколько файлов в один. Предусмотреть возможность восстановления исходных файлов
Код программы должен соединять несколько файлов в один. Си.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru