-
Echange de données C
Bonjour à tous,
je travaille sur une application C, qui contient une structure.
mon objectif est d'accéder à la structure à partir d'un autre programme C et de changer ses valeurs .
donc mes deux programmes C doivent communiquer pour échanger ses valeurs, mais je ne sais pas encore comment.
j'ai cherché un peu, j'ai trouvé qu'il est possible d'utiliser la mémoire partagée, mais je ne sais pas comment procéder, ni si c'est le bon moyen.
pouvez vous m'expliquer svp ce qu'il faut faire, ou me donner des exemples.
Merci d'avance.
-
Bonjour.
La question que je me pose, c'est pourquoi le second programme ne peut pas lire le fichier d'entrée... :koi:
-
Bonjour,
Mon programme qui doit être en C doit juste modifier ces données, et il n'est pas destiné à lire un fichier.
-
Qia,
Quel est le véritable obstacle qui empêcherait ton nouveau programme de faire le total (lire le fichier, modifier, ...) ?
-
As-tu accès aux sources du logiciel en question ?
Si oui, tu devrais pouvoir utiliser les fonctions déjà implémentées pour lire le fichier et structurer les données.
Euh...
Au fait, si tu te demandes comment faire passer des données de l'un à l'autre, c'est que tu peux modifier le premier, celui qui existe déjà ?
-
Bonjour,
Peux-tu modifier le premier programme ? Si oui, pourquoi ne pas faire ton traitement directement dedans ?
Et si tu ne peux pas, alors tu vas avoir un soucis car comment vas-tu lui indiquer qu'il faut utiliser une memoire partagee ?
-
@ drogoo:Je ne veux pas qu'il fasse la total, j'aimerai juste les faire communiquer et échanger les données, et donc pouvoir modifier les valeurs stockées dans la structure.
-
oui j'ai accès aux sources du logiciel.
-
Il y a quelques temps, il y avait un topic qui parlait de mémoire partagée entre programmes.
Je n'y ai pas vraiment fait attention, mais j'ai retenu l'utilisation de shmat et de shmget pour gérer la mémoire partagée.
Les autres moyens que je vois pour faire communiquer deux programmes, c'est soit passer par un fichier (...), soit par un tube de communication.
Mais je ne suis pas sûr que ce soit possible... :oops: