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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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