» »

Flat Text File Iskanje - C++

Flat Text File Iskanje - C++

bboyspin ::

Iskanje kode v flat text daoteki. Kako se da to najbolj izvirno resiti ce imamo naslednje pogoje?

1. Vsaka vrstica vsebuje en artikel
2. Vsak artikel ima na zacetku svojo unikatno kodo
3. Opis artikla je konstantne dolzine in oblike, oblika= koda I opis I ... I ... I
4. Kot je zgoraj navedeno so loceni z posebnim znakom: |
5. Artikli niso urejeni po vrsti oz. kodi
6. Na voljo nimam memorije
7. Ne moremo urejeno dodajati artiklov (zaradi obstojecih vmesnikov)
8. Lahko premetavamo artikle
9. Cilj je optimalna hitrost iskanja

Po moji oceni ni kaj dosti resitev, kot da gres pac po vrsti, ali malo skaces gor in dol... No mogoce pa me kdo izmed vas preseneti :)

LP,
bboy Spin

hatch ::

Najbolj izvirno ali najlazje?

najlazje je fscanf;)

najbolj izvirno? ASM of course!

OwcA ::

Nekaj v tem smislu morda (še vedno je "grdo", ampak vsaj do neke mere prebrisano :D):
#include <fstream>
#include <string>
#include <limits>

bool najdi(const std::string &kaj)
{
  using namespace std;
 
  ifstream fin("mojadatoteka.dat");
  string tmp;
  while(!fin.eof())
  {
     fin.getline(tmp, numeric_limits<istream::streamsize>::max(), '|' );
     if (kaj == tmp)
     {
        return true;
     }
     fin.ignore(numeric_limits<istream::streamsize>::max(), '\n');
  }
  return false;
}


P.S. tole je pisano "na pamet", z dokumentacijo std::istreama in po odstranitvi parhi sintaksičnih napak bo morda celo delovalo ;)
Otroška radovednost - gonilo napredka.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c++ rabim pomoč konstuktorji

Oddelek: Programiranje
61107 (802) Snowflake2
»

C - shranjevanje rezultatov iz baze v array

Oddelek: Programiranje
71234 (933) Randomness
»

c++ ned help

Oddelek: Programiranje
91734 (1462) barcaFan
»

[C#] Sort za string (slovenska abeceda)

Oddelek: Programiranje
5972 (781) mihies
»

int to string v c++

Oddelek: Programiranje
272342 (2070) OwcA

Več podobnih tem