Чтение из файла, вывод в новый файл и сравнение выводов - PullRequest
0 голосов
/ 09 ноября 2019

Мне нужно немного помочь с моим кодом. Первую часть кода было легко создать. Читать из двух текстовых файлов -> Вывести в новый текстовый файл. Мой следующий шаг - сравнить оба выхода построчно.

  • Если число одинаковое, числа остаются.
  • Если число отличается от номера textfile2, число с заменой.

Пример:

Textfile1:
2221112221
1122221112
2222221111
1111111111

Textfile2:
2222221111
2211222212
1111111111
2221112222

Result that should happen on Textfile3:
(like I'm overlapping textfile2 on textfile1)

2222221111
2211222212
1111111111
2221112222

Итак, я уже исследовал для str.compare, но я не могу вывести результат, как указано выше. Я не знаю, работает ли это с ним.

if((line2.compare(0, line2.length(), line1)) == 0)
string line1, line2;
ifstream read1, read2;

read1.open("test.txt", ios::in);
read2.open("test2.txt", ios::in);
ofstream outFile("outputfile.txt", ios::out | ios::app);


if(!read1 || !read2){
    cerr << "One file is missing" << endl;
    exit(1);

}

else {
    while(getline(read1, line1))
    {
        outFile << line1;

    }
    while(getline(read2, line2))
    {
        outFile << line2 << endl;
    }

Большое спасибо, ребята!

1 Ответ

0 голосов
/ 09 ноября 2019

повторять строки и сравнивать символ с символом? Это позволит вам достичь того, что вы ищете.

Этот пример, очевидно, не имеет обработки исключений (например, различной длины строки):

std::string corn = "I eat Corn!";
std::string rice = "I eat Rice!";

int main()
{
    for (size_t i = 0; i < corn.length(); i++)
    {
        if (corn[i] != rice[i])
        {
            rice[i] = corn[i];
        }
    }
    std::cout << rice;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...