Avatar billede huk Nybegynder
21. september 2006 - 11:57 Der er 11 kommentarer og
1 løsning

returværdi

jeg har en funktion som returnerer antallet af sendte bytes:

typedef unsigned char    BYTE;

BYTE func(BYTE* data, BYTE p);

i en if sætning ønsker jeg at tjekke om nogle bytes er sendt!

jeg har forsøgt:
returværdien gemmes i en variabel af typen BYTE.

if(returværdien>0)
{
    ......;
}

men den bliver aldrig større end 0.
Er der noget jeg gør galt?
Avatar billede hardcorewizard Nybegynder
21. september 2006 - 12:25 #1
Hmm, kan du ikke poste koden til din "func()"-funktion? Forudsat du har skrevet den selv selvfølgelig, det tyder på at fejlen er at finde der, og ikke i din evaluering af resultatet.
Avatar billede huk Nybegynder
21. september 2006 - 12:34 #2
funktionen erklæres som ovenfor, men andensteds kaldes den som:
BYTE lager;
BYTE lan;

returværdi = func(&lager , lan);

if(returværdi>0)
{
    ......;
}
Avatar billede tokelil Nybegynder
21. september 2006 - 13:21 #3
Som hardcorewizard siger, så tyder det på at fejlen er i din func()... Er du sikker på den returnere andet end 0?
Avatar billede huk Nybegynder
21. september 2006 - 13:30 #4
funktionen skulle ikke fejle noget, da det er noget software der medfølger til et produkt. Alle de andre funktioner virker fint. men beskrivelsenn af funktionen er som følger:

Parameter:  BYTE*    lager
            Pointer til data
         
parameter:  BYTE    lan
            Antal bytes i data

returværdi: BYTE
            Returnerer antal sendt bytes
Avatar billede tokelil Nybegynder
21. september 2006 - 13:38 #5
hvis din kode oven for er korrekt, så er dit lager kun på 1 byte, og den kan nok ikke sende noget...

BYTE lager[256];
BYTE lan;

returværdi = func(&lager , lan);

if(returværdi>0)
{
    ......;
}

burde være korret, og returværdi burde indholde antal sendte bytes.
Avatar billede polle007 Nybegynder
21. september 2006 - 13:39 #6
det er ikke fordi du glemmer at sætte lan = antal bytes i lager?
Avatar billede huk Nybegynder
21. september 2006 - 14:27 #7
Fejlen bestod i 2 ting:-)

"lan" blev aldrig sat.....hopla
og som tokelil siger skulle det være: BYTE lager[256];

men hvis smider et svar begge to så må i dele.

Mange tak for hjælpen begge
Avatar billede tokelil Nybegynder
21. september 2006 - 14:35 #8
svar
Avatar billede huk Nybegynder
21. september 2006 - 14:50 #9
man kan måske ikke dele pointene?
Eller det kan man måske først når begge har svaret?
Avatar billede tokelil Nybegynder
21. september 2006 - 14:57 #10
Først når begge har lagt et svar
Avatar billede huk Nybegynder
21. september 2006 - 15:34 #11
så giver vi lige polle007 en chance til imorgen.
Avatar billede huk Nybegynder
22. september 2006 - 10:58 #12
det lader ikke til polle vender tilbage. Men tak for hjælpen anyway
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