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

Problem z metodą find()

Ostatnio zmodyfikowano 2011-12-29 18:26
Autor Wiadomość
CodeMeister
Temat założony przez niniejszego użytkownika
Problem z metodą find()
» 2011-12-29 18:12:11
Witam ponownie!

mam kod, który jest częścią bazy danych. Część z jego elementów jest jeszcze niewykorzystana. Mam problemy z przeszukiwaniem pliku. Kod:
C/C++
void znajdz_pozycje()
{
    int iPozycja;
    string sCo_wyszukac;
    string sSzukana_fraza;
    string sBaza;
    string sLinia;
   
   
   
    fstream plik;
    plik.open( "baza.txt", ios::in );
   
    if( plik.good() == true )
    {
        cout << endl << endl;
        cout << "Co chcesz wyszukac? (imie, nazwisko, email, numer): ";
        cin >> sCo_wyszukac;
        cout << "Szukana fraza: ";
        cin >> sSzukana_fraza;
        cout << endl << endl;
       
        while( !plik.eof() )
        {
            getline( plik, sLinia );
            sBaza.append( sLinia );
            sBaza += '\n';
        }
       
        if( sBaza.empty() == false )
        {
           
            iPozycja = sBaza.find( sSzukana_fraza.c_str, 0, sBaza.length() );
            if( iPozycja != string::npos )
                 cout << "Znalaziono frazę na pozycji: " << iPozycja << endl;
           
        }
        else
             cout << "Baza jest pusta!" << endl << endl << endl;
       
        plik.close();
    }
    else
    {
        MessageBeep( 0x00000010L );
        cout << "Blad programu: nie mozna otworzyc pliku \"baza.txt\" " << endl << endl;
    }
}

program nie pokazuje pozycji na której znaleziono sSzukana_fraza, co żle robię?  /bazę wczytuje dobrze
P-46621
pekfos
» 2011-12-29 18:13:20
A nazwa tematu gdzie?!
P-46623
CodeMeister
Temat założony przez niniejszego użytkownika
» 2011-12-29 18:14:37
Jest już...  / wpisałem treść ale zapomniałem headera
P-46624
pekfos
» 2011-12-29 18:20:14
Cóż, masz bazę jako wielki łańcuch?
Poczytaj o std::vector..
P-46625
CodeMeister
Temat założony przez niniejszego użytkownika
» 2011-12-29 18:21:46
łańcuch że...?
P-46626
Mrovqa
» 2011-12-29 18:22:50
Google nie boli...
http://www.cplusplus.com/reference/string/string/find/
Nie lepiej tak?
iPozycja = sBaza.find( sSzukana_fraza );

/edit: dwie nowe wiadomości... :D Szybcy jesteście :P
P-46627
CodeMeister
Temat założony przez niniejszego użytkownika
» 2011-12-29 18:26:00
Działa... coś musiało być z length(), w każdym razie pewnie w tym wierszu. Dzięki
P-46628
« 1 »
  Strona 1 z 1