Déduire l'@ Broadcast à partir d'une autre @ IP en char
Bonjour,
J'ai un problème pour améliorer mon petit programme utilisant des sockets.
J'ai créé une petite interface graphique avec gtk qui permet de rentrer des informations, dont des adresses IP des machines à joindre.
Comme toutes ces machines sont dans le même réseau, elles ont typiquement des adresses du genre:
- 192.168.1.2 et 192.168.1.16 (donc @broadcast => 192.168.1.255)
ou
- 192.168.0.2 et 192.168.0.9 (donc @broadcast => 192.168.0.255)
Pour l'instant je suis arrivé à récupérer ces valeurs dans des gchar et je peux par exemple les afficher sans problème avec
Code:
1 2 3 4 5
|
const gchar* adresse_pa
const gchar* adresse_clt1
printf("\nparametres de la connexion: \nadresse du point d'acces %s \nadresse du client1 %s \n",adresse_pa, adresse_clt1); |
Mon soucis est qu'il faudrait que j'envoie des informations aux machines clientes. J'utilise pour cela une socket qui utilise l'@ broadcast associée au réseau (cf exemple du dessus.)
Pour l'instant mon application fonctionne mais il faut que je recompile à chaque fois que mon @ de réseau change (192.168.0.0 ou 192.168.1.0). Je voudrais donc déduire l'@ broadcast à partir d'une des adresses des machines clientes (du type 192.168.0.2 par exemple ). Malheureusement je n'arrive pas à isoler les caractères situés apres le troisième "." de manière à les remplacer par "255". :(
Au départ je pensait utiliser la fonction:
Code:
char* strchr(const char* chaine, int caractereARechercher);
mais elle s'arrête au premier caractère recherché.
Existe-t-il une fonction permettant de faire ce genre de manipulation sur les chaines ?
Merci