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
Annonceindlæg fra DE-CIX
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?
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)
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; }