Avatar billede spectual Nybegynder
19. juni 2002 - 10:34 Der er 5 kommentarer og
1 løsning

Hvad er der i galt her?

Jeg forsøger at lave en søge funktion, men det driller. Den siger at søgestrengen ikke findes, selvom den gør.
Koden er:

#define SOURCEBUFFER_SIZE 4608

BYTE *srcBuffer;
srcBuffer = (BYTE *)malloc (SOURCEBUFFER_SIZE);
const BYTE find [] = {0xCF,0x7F,0xF4,0x7E,0xA5,0xA9};

    int found = 0;
    DWORD cnt;
    bool do_exit = false;

    fil = fopen ( filn, "rb");

    do {
        br = fread ( srcBuffer, 1, SOURCEBUFFER_SIZE, fil );

        cnt = 0;
        while (cnt<br) {

            if (find [found] == srcBuffer [cnt]) {
                found++;

            } else found = 0;

            if (found == sizeof (find) ) { do_exit = true; }

            cnt++;
        };

    } while ((br != 0) && (!do_exit));

    fclose (fil);
Avatar billede jpk Nybegynder
19. juni 2002 - 10:39 #1
du nulstiller found hver gang du ta'r en karakter der ikke passer....
found = 0;
Avatar billede spectual Nybegynder
19. juni 2002 - 10:53 #2
??????????????

det skal den da også
Avatar billede spectual Nybegynder
19. juni 2002 - 10:57 #3
ellers ville den jo bare sige at de første 6 tegn var resultatet.
Avatar billede spectual Nybegynder
19. juni 2002 - 11:04 #4
så fandt jeg fejlen.

Det er heller ikke nemt at finde en fejl i en kode, hvor der ingen
fejl er.

Problemet var, at jeg havde kommet til at erklære variablen lokalt også og da lokale variabler har højere privotet end globale, bruges
lokale variabler fremfor globale.
Avatar billede jpk Nybegynder
19. juni 2002 - 11:47 #5
Det har ikke noget med prioritet at gøre, det er stack'ens naturlige egenskab...
Avatar billede spectual Nybegynder
19. juni 2002 - 11:49 #6
.. som har en privoterende effekt.

En direkte privotering har du nok ret i at der ikke sker.
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