Avatar billede nomak Nybegynder
08. april 2003 - 08:19 Der er 4 kommentarer og
1 løsning

flytte data fra en funktion til en anden

Hej E!

Jeg står med et lille problem i mit C program..

her er lidt kode:

int mail(void) {
    fd_set master;

    fd_zero(&master);

    fd_set(1, &master);

    newfunc(&master);
}

int newfunc(noget master) {
    if (FD_ISSET(1, &master)) {
        printf("1 findes i master..");
    }

    return 1;
}

Men problemet er at jeg ikke ved hvordan jeg skal få flyttet indholdet af master over i funktionen newfunc() ?

På forhånd tak - NoMak
Avatar billede segmose Nybegynder
08. april 2003 - 08:22 #1
int newfunc(fd_set master)
Avatar billede nomak Nybegynder
08. april 2003 - 08:35 #2
Indhold af a.c:
#include <stdio.h>
#include <sys/types.h>



int main(void) {
    fd_set master;

    FD_ZERO(&master);

    FD_SET(1, &master);

    newfunc(&master);

    return 1;
}

int newfunc(fd_set master) {
    if (FD_ISSET(1, &master)) {
        printf("1 findes i master..");
    }

    return 1;
}
----------
Compiler med "cc -o a a.c" - ingen fejl..

-bash-2.05b$ ./a
-bash-2.05b$


Ser ud til det ikke virker?
Avatar billede segmose Nybegynder
08. april 2003 - 09:09 #3
Ja, der mangler selvfølgelig at gøre den global, det hjælper jo ikke meget
at ændre i en lokal variable...

int newfunc(fd_set& master)
Avatar billede segmose Nybegynder
08. april 2003 - 09:11 #4
Og hvis jeg så også læser hele dit program kan jeg se at du kalder

newfunc(&master);

så skal det være

int newfunc(fd_set *master) {
    if (FD_ISSET(1, master)) { // master er allerede en pointer.
        printf("1 findes i master..");
    }

    return 1;
}
Avatar billede nomak Nybegynder
08. april 2003 - 12:42 #5
Jeg takker :)
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