Avatar billede mxs Nybegynder
23. juli 2006 - 17:12 Der er 5 kommentarer og
1 løsning

gethostname og en lagersegmentfejl

Hej

Mit problem er faktisk rimlig lige til. Jeg har en klasse hvor der er en member der hedder gethostname. Her kalder jeg gethostname funktionen som skal fylde et char array op med navnet på den maskine man sidder på, men når jeg gør dette så får jeg en lagersegmentsfejl og det forstår jeg ikke da den jo tager en pointer til et array. Den kompiler fint.
Ved I hvad der er galt?
Avatar billede arne_v Ekspert
23. juli 2006 - 17:21 #1
må vi se erklæringen af din instans variabel og kaldet til gethostname funktionen ?
Avatar billede mxs Nybegynder
23. juli 2006 - 17:22 #2
jeg gør sådan her

char hostname[128]
int host = ::gethostname(hostname, sizeof(hostname));
Avatar billede arne_v Ekspert
23. juli 2006 - 17:53 #3
umiddelbart ser det jo meget tilforladeligt ud

kan du genskave problemet i et lille standalone program ?

hvilken platform ?
Avatar billede mxs Nybegynder
23. juli 2006 - 17:55 #4
Linux platformen. Jeg har prøvet bare at kaste det samme i selve main og der melder den ingenting. Synes det er lidt underligt.
Avatar billede mxs Nybegynder
23. juli 2006 - 17:58 #5
... damn, tror lige jeg har begået programmørisk selvmord. Har glemt return i min member funktion. AMEN SØST for en fejl.
Avatar billede tiller3 Nybegynder
24. juli 2006 - 18:41 #6
For at undgaa den slags i fremtiden boer du nok compile med
gcc -Wall
Det vil give warnings om mange slemme ting man generalt boer undga :}

(Jeg gaar ud fra at du bruger gcc, paa linux)
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