Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Wo ist der Denkfehler ?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ne
Gast





BeitragVerfasst am: 04. Jun 2002 18:38   Titel: Wo ist der Denkfehler ?

Hi Leute .. ich habe mal versucht mit getenv zu spielen, aber es funktioniert nicht, denn auch wenn der HOSTANME linux3 ist, so bekomme ich die Meldung "Hostname ist falsch"

wo ist der Denkfehler ?

code:

#include <stdio.h>
#include <stdlib.h>

main()
{
char *host_name, *getenv();
host_name=getenv("HOSTNAME");
if(host_name == "linux3") {
printf("Hostname ist OK\n%s\n",host_name);
} else {
printf("Hostname ist falsch");
}
}



ich möchte bitte keine andere Version, wie ich den Hostname des Rechners sonst noch rausbekommen könnte (möchte es mit getenv erreichen.

Danke
 

Jochen
Gast





BeitragVerfasst am: 05. Jun 2002 7:49   Titel: Re: Wo ist der Denkfehler ?

Öh - Zeichenketten in C werden mittels strcmp oder strncmp verglichen! Wenn Du 'hostname == "linux3"' programmierst, vergleichst Du den Pointer, der auf die Zeichenkette im Environment zeigt, mit dem Pointer, der auf die konstante Zeichenkette "linux3" zeigt, die irgendwo im Speicher liegt. Daher wird der Vergleich immer falsch ergeben müssen.

Jochen
 

ne
Gast





BeitragVerfasst am: 05. Jun 2002 19:37   Titel: Re: Wo ist der Denkfehler ?

was muß ich dazu ändern oder wie sähe das funktionell richtig aus ?


danke
 

Matthias Brachmann
Gast





BeitragVerfasst am: 06. Jun 2002 9:18   Titel: Re: Wo ist der Denkfehler ?

mit
if(strcmp(host_name, "linux3")==0){
printf("Hostname OK
");
} else .....

müsste es funzen

Gruß Matthias
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy