Afficher l'IP ou l'hostname de la machine [C Windows] - C - Programmation
Marsh Posté le 28-07-2003 à 16:57:27
Pour le hostname :
gethostbyname() =>
http://msdn.microsoft.com/library/ [...] name_2.asp
Pour l'IP :
gethostbyaddr() =>
http://msdn.microsoft.com/library/ [...] addr_2.asp
Marsh Posté le 28-07-2003 à 17:05:49
Pff... Merci beaucoup *Syl*.
Je suis parti pour faire chier, je le sens. Que me conseillez-vous comme ressource (bouquin ou site web, histoire que je sois moins nul) ?
Marsh Posté le 28-07-2003 à 17:07:50
Va déjà lire ce nouveau topic sur le C++:
http://forum.hardware.fr/forum2.ph [...] subcat=385
Edit : trompé de lien
Marsh Posté le 29-07-2003 à 11:34:19
Bon, à l'aide !
Je suis avec mon copain Visual C++ 6, j'ai écrit un programme qui affiche un bête frame. J'essaie d'imprimer l'adresse IP de la machine.
Et là c'est merveilleux. A mon code qui compile j'ajoute :
Code :
|
Et je mange 58 error(s), 11 warning(s). La première est :
error C2011: 'fd_set' : 'struct' type redefinition |
Marsh Posté le 29-07-2003 à 11:39:49
Cherrytree a écrit : Bon, à l'aide !
|
C'est peut être que le .h dans lequel tu inclues "winsock2.h" est inclu plusieurs fois.
quand tu écris un header, mets toujours :
Code :
|
Marsh Posté le 29-07-2003 à 11:46:26
Je code à la sauvage uniquement dans un .c pour l'instant. Par contre j'inclus windows.h déjà. Une piste ?
Marsh Posté le 29-07-2003 à 11:49:11
Merci Gringo ! C'était dans windows.h. Mon header est déjà pris en compte.
EDIT: du coup j'ai viré mon import de winsock2.h
Marsh Posté le 29-07-2003 à 12:07:44
Cherrytree a écrit : Je code à la sauvage uniquement dans un .c pour l'instant. Par contre j'inclus windows.h déjà. Une piste ? |
Commence pas comme ça. C'est dès le départ qu'il faut s'habituer à séparer les header (.h) des implémentations (.c ou .cpp)
Marsh Posté le 29-07-2003 à 13:11:06
Je voudrais bien. J'ai juste jamais compris ce qu'on mettait dans un header.
Marsh Posté le 29-07-2003 à 13:18:42
dans les header tu mets les prototypes de tes methodes/fonctions ainsi que la declaration de tes variables et dans les .c/.cpp tu mets les definitions de tes methodes/fonctions.
exemple :
Register.h
-----------
Code :
|
Register.cpp
------------
Code :
|
Marsh Posté le 29-07-2003 à 13:25:57
Mais si je déclare une classe par exemple. ça me choque de mettre ça dans un .h !
EDIT: ton exemple montre bien. Je reste choqué par la manière de faire.
Promis je vais faire des efforts.
Marsh Posté le 29-07-2003 à 13:56:37
Le truc est que le header peut être importé ailleurs dans le projet, afin d'en avoir toutes les déclarations (de la même manière que tu fais un import de windows.h ou winsock2.h, lesquels, tu l'auras vu, ne contiennent également que des déclarations et prototypes de classes).
Les définitions restent dans les .c et tout cela est résolu à l'édition des liens. Dans le cas d'un import de winsock2.h, l'édition des liens fera (pas forcément automatiquement) appel à winsock2.lib qui contient les définitions des fonctions avec tout le code.
(je dis ça dans l'idée que tu débutes en C, en fait j'en sais rien )
Marsh Posté le 29-07-2003 à 14:14:57
Cherrytree a écrit :
|
Le concept de séparer les déclaration et l'implémentation, c'est interressant.
Et les commentaires, tu les mets dans le .h en priorité. en principe, juste en lisant le header d'une classe, tu doit pouvoir savoir ce qu'elle fait et à quoi elle sert.
Marsh Posté le 28-07-2003 à 16:53:07
Désolé de poster mes questionnettes de newbie, mais MSDN n'est pas des plus simples à naviguer (y a mieux ??).
En fait je cherche à afficher l'ip de la machine (ou autre, c'est juste pour identifier) qui exécute le programme C que j'écris.
Maintenant que j'y pense, c'est peut-être pas du C Windows, ma question.
---------------
Le site de ma maman