Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Porównywanie linijek plików tekstowych

Ostatnio zmodyfikowano 2014-06-09 15:39
Autor Wiadomość
mikson
Temat założony przez niniejszego użytkownika
» 2014-06-08 16:42:58
Sprawdziłem dla ułatwienia, czy na konsoli będzie działać - też nie działa :/
Oto kod:
C/C++
#include <iostream>
#include <fstream>
#include <windows.h>
#include <time.h>
using namespace std;

int main()
{
    string pom, linijka1, linijka2;
   
    time_t czas;
    struct tm * data;
    char plik[ 80 ];
   
    time( & czas );
    data = localtime( & czas );
   
    //nazwa pliku2 to dzisiejsza data, np. "08-06-2014.txt":
    strftime( plik, 80, "%d-%m-20%y.txt", data );
   
   
    std::fstream plik2;
    plik2.open( plik, std::ios::in | std::ios::out );
    if( plik2.good() == false )
    {
        MessageBox( NULL, "Nie można uzyskać dostępu do pliku2.", "Wystąpił błąd", MB_ICONERROR );
       
        return 0;
    }
   
    std::fstream plik1;
    plik1.open( "plik1.txt", std::ios::in | std::ios::out );
    if( plik1.good() == false )
    {
        MessageBox( NULL, "Nie można uzyskać dostępu do pliku1.", "Wystąpił błąd", MB_ICONERROR | MB_RETRYCANCEL );
       
        return 0;
    }
   
    while( !plik1.eof() )
    {
        bool zgoda = true;
       
        getline( plik1, linijka1 );
        getline( plik1, pom );
       
        while( !plik2.eof() )
        {
            getline( plik2, linijka2 );
           
            if( linijka1 == linijka2 )
            {
                zgoda = false;
            }
           
        }
       
        if( zgoda == true )
        {
            cout << linijka1 << endl;
        }
       
        plik2.seekg( 0 );
    }
   
    plik2.close();
    plik2.close();
   
    system( "pause" );
   
}
P-111740
pekfos
» 2014-06-08 22:04:12
Samo ustawienie pozycji odczytu na początek nic nie da, jeśli strumień jest w stanie błędu. plik2.clear() przed plik2.seekg().
P-111773
mikson
Temat założony przez niniejszego użytkownika
Zamykam.
» 2014-06-09 15:39:52
Już działa!
Bardzo dziękuję za pomoc :))
P-111813
1 « 2 »
Poprzednia strona Strona 2 z 2