Avatar billede zaym01 Nybegynder
26. februar 2004 - 09:17 Der er 9 kommentarer og
1 løsning

Bedste søgemetode til filer

Hej

  Jeg er ved at lave et program der skal gennemsøge en fil men jeg er i tvivl om noget.

  Er det smartest at læse filen ind i rammene inden man gennemsøger den eller bare gennemsøge den direkte.

  Altså skal filen læses ind i vector<string> buffer og så skal buffer gennemsøges eller skal man gennemsøge filen linie for linie?
Avatar billede segmose Nybegynder
26. februar 2004 - 09:22 #1
Ufordelen ved at læse det ind i vector er at der bruges en del energi på at oprette disse.
Du skulle måske se på om du kan memory mappe filen på en eller anden måde.
Avatar billede zaym01 Nybegynder
26. februar 2004 - 09:32 #2
Hvad mener du med at meorymappe den?
Avatar billede segmose Nybegynder
26. februar 2004 - 09:59 #3
Avatar billede segmose Nybegynder
26. februar 2004 - 10:03 #4
På linux:
man mmap
Avatar billede arne_v Ekspert
26. februar 2004 - 10:10 #5
Du skal kun søge efter en ting => du skal kun gennem filen en gang => søg direkte

Du skal søge efter flere ting => du skal gennem filen flere gange => læs filen ind i memory
Avatar billede zaym01 Nybegynder
26. februar 2004 - 10:15 #6
Eksempelvise kunne man søge: un

  Nu skal prgrammet finde og udskrive de linier i filen der starter med un eks

  uno
  underlig
  undskyld
  etc...
Avatar billede arne_v Ekspert
26. februar 2004 - 10:19 #7
Det er stadig kun one pass selvom du finder flere matches.

Det afgørende er stadig om det er søg-vis eller søg-vis-søg-vis-søg-vis
Avatar billede zaym01 Nybegynder
26. februar 2004 - 10:32 #8
det bliver nok søg-vis i de fleste tilfælde men der kan forekomme et par søg-vis-søg-vis-søg-vis.
Avatar billede zaym01 Nybegynder
26. februar 2004 - 10:33 #9
men vil sige det er meget begrænset
Avatar billede arne_v Ekspert
26. februar 2004 - 10:51 #10
Hvis søg-vis er det typisk så læs direkte vil være mit råd.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester