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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Noreal
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 43
#1

сравнение файлов - C++

25.05.2013, 19:56. Просмотров 608. Ответов 1
Метки нет (Все метки)

Нужно доделать программу вот по такому заданию Даны символьные файлы f и s . Записать в файл h все начальные совпадающие компоненты файлов s и f .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
bool Compare(const std::string & a, const std::string & b){
    if ( a.length() != b.length() )
        return false;
    for ( size_t i = 0; i < a.length(); ++i )
        if ( a[i] != b[i] )
            return false;
    return true;
}
 
int main(void){
    std::string a, b;
    
    while ( std::cout << "First: " && std::getline(std::cin, a) && ! a.empty()
        && std::cout << "Second: " && std::getline(std::cin, b) && ! b.empty() )
            std::cout << ( Compare(a, b) ? "YES" : "NO" ) << std::endl;
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 19:56     сравнение файлов
Посмотрите здесь:

Сравнение файлов - C++
Привет всем ! Дано два текстовых файла. Сравнить их содержимое и в новый файл записать либо номер первой строки, в которой они...

Побайтовое сравнение 2 файлов - C++
Ребят , кто может написать хороший для побайтового сравнения 2 любых файлов ? Хочу посмотреть как это должно выглядеть. Заранее спасибо...

Сравнение содержимого файлов - C++
Мини-задача состоит в следующем необходимо найти в одном (А) файле содержимое второго (В). Так вот хотелось бы получить совет как...

Копирование файлов через сравнение - C++
Сравнить два каталога разницу записать в третий. В третий каталог нужно положить все файлы, которые есть в первом каталоге , но...

Сравнение файлов с одинаковыми названиями - C++
Дано два каталога(dir1, dir2), содержащих файлы *.txt и не содержащие подкаталогов. Наполнить третий каталог (RESULT): -для каждого...

Сравнение двух текстовых файлов - C++
господа есть 2 файла txt как сравнить точно ли информация в первом совпадает со вторым

Сравнение двух текстовых файлов - C++
Объясните, пожалуйста, как работает код #include&lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;conio.h&gt; #include...

Сравнение содержимого файлов на сервере и ПК - C++
Ребят имеется код,который читает содержимое файла в интернете x.txt и содержимое файла x.txt на компе, если их содержимое одинаково, то он...

Сравнение двух дисковых файлов - C++
Здравствуйте, как написать функцию, которая сравнивает содержимое двух дисковых файлов и выдает сообщение, если есть хотя бы одно...

Побайтное сравнение двух файлов - C++
#include &lt;locale.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main(int argc, char *args) { setlocale(LC_ALL, &quot;rus&quot;); ...

Построчное сравнение двух текстовых файлов - C++
Написать программу, выполняет построчное сравнивает два текстовые файлы и выводит на консоль номера строк в которых данные файлы...

Сравнение всех файлов в каталогах по дате последнего изменения - C++
мне нужно проверить все файлы по именам если они совпадают то проверить последнюю дату изменения и перезаписать этот файл во втором...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
26.05.2013, 01:20     сравнение файлов #2
Доделать не получилось, но получилось написать новую:
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
#include <iostream>
#include <fstream>
 
struct Bad_compare {};
 
inline char Comp_char(char f, char s)
{
    return f == s ? f : throw Bad_compare();
}
 
int main(int argc, char* argv[])
{
    if (argc != 4)
    {
        std::cerr << "error: wrong arguments" << std::endl;
        return 1;
    }
 
    std::ifstream in1(argv[1], std::ios::in | std::ios::binary);
    std::ifstream in2(argv[2], std::ios::in | std::ios::binary);
    std::ofstream out(argv[3], std::ios::out | std::ios::binary);
    if (!in1 || !in2 || !out)
    {
        std::cerr << "error: couldn't open file(s)" << std::endl;
    }
 
    char ch1, ch2;
 
    while (in1.get(ch1) && in2.get(ch2))
    {
        try
        {
            out.put(Comp_char(ch1, ch2));
        }
        catch (Bad_compare)
        {
            in1.close(); in2.close();
            out.close();
            return 0;
        }
    }
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru