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

[C,C++] porownywanie obrazow

Ostatnio zmodyfikowano 2016-02-02 13:32
Autor Wiadomość
aaadam
Temat założony przez niniejszego użytkownika
[C,C++] porownywanie obrazow
» 2016-02-02 11:43:12
Witam, napisałem aplikacje która porównuje mi dwa pliki, z założenia maja to być pliki bmp, dla małych plików program działa poprawnie, ale chodzi mi o porównywanie dwóch screeenshotow i program źle działa dla dużych plików a o to kod:

C/C++
/*
porwnywanie 2 plikow
dane wejsciowe 1 i 2 parametr to lokalizacja plikow
zwraca 1 gdy pliki takie same 0 gdy rozne,3 gdy nie moze otworzyc plikow
dziala dla plikow bmp, naglowek 54 bitow jest pomijany



*/
#include <fstream>
#include <iostream>
#include <string>

using namespace std;

int main( int argc, char ** argv )
{
    bool app_succeed = true;
    string tmp1, tmp2;
    short int bmp_heading_size = 54;
    string name_file_1, name_file_2;
   
    name_file_1 = argv[ 1 ];
    name_file_2 = argv[ 2 ];
    cout << "input files : " << endl;
    cout << name_file_1 << endl;
    cout << name_file_2 << endl;
   
   
    fstream plik1, plik2;
    plik1.open( name_file_1, std::ios::in );
    plik2.open( name_file_2, std::ios::in );
    if( plik1.good() && plik2.good() )
    {
        plik1.seekg( bmp_heading_size, ios::beg );
        plik2.seekg( bmp_heading_size, ios::beg );
       
       
        while( !plik1.eof() &&!plik1.eof() )
        {
            getline( plik1, tmp1 );
            getline( plik2, tmp2 );
            if( tmp1 != tmp2 )
                 app_succeed = false;
           
        }
        plik1.close();
    }
    else
    {
        cout << "Error! can not open a file!" << endl;
        return 3;
    }
    if( app_succeed )
    {
        cout << "files are same" << endl;
        return 1;
    }
    else
    {
        cout << "files are not same" << endl;
        return 0;
    }
}

proszę o pomoc.
P-144334
Monika90
» 2016-02-02 11:47:49
Bitmapy należy otwierać w trybie binarnym.
P-144335
aaadam
Temat założony przez niniejszego użytkownika
» 2016-02-02 11:58:30
chyba działa, dzięki.
Może ktoś wyjaśnić dlaczego bitmapy trzeba otwierać w trybie binarnym ??
P-144336
Szadziu
» 2016-02-02 13:11:18
ponieważ są to pliki binarne
P-144337
aaadam
Temat założony przez niniejszego użytkownika
» 2016-02-02 13:32:17
oki dzięki, zamykam temat
P-144338
« 1 »
  Strona 1 z 1