[C] Passer l'adresse d'une structure
Résolu/Fermé
kij_82
kij_82
- Messages postés
- 4088
- Date d'inscription
- jeudi 7 avril 2005
- Statut
- Contributeur
- Dernière intervention
- 30 septembre 2013
kij_82
- Messages postés
- 4088
- Date d'inscription
- jeudi 7 avril 2005
- Statut
- Contributeur
- Dernière intervention
- 30 septembre 2013
A voir également:
- [C] Passer l'adresse d'une structure
- [C] Passer l'adresse d'une structure ✓ - Forum - C
- Comment supprimer un compte instagram sans mot de passe ni adresse mail - Forum - Instagram
- Supprimer compte facebook sans mot de passe ni adresse mail ✓ - Forum - Facebook
- Comment supprimer ou désactiver son compte Instagram - Guide
- Récupérer son mot de passe Instagram ✓ - Forum - Instagram
3 réponses
tafiscobar
2 juin 2005 à 11:01
- Messages postés
- 1277
- Date d'inscription
- jeudi 7 décembre 2000
- Statut
- Contributeur
- Dernière intervention
- 26 février 2009
2 juin 2005 à 11:01
Salut, il n'y a pas de différence entre l'adresse d'un entier ou l'adresse d'une structure, cela reste un pointeur qui contient une adresse. Donc si ta structure c'est par exemple sql:
sql marequete;
&marequete; // te donne l'adresse de marequete
sql *unerequete; // un pointeur sur ta requete.
Maintenant, sur comment passer les messages entre client/serveur cela dépend de l'api et de ce q'il propose et donc je ne peux rien te dire dessus, cela fait un bon moment que je nen ai pas utilisé. En C je sais que l'on ecrit sur un filedescriptor et l'autre lit dessus, je ne sais plus ...
sql marequete;
&marequete; // te donne l'adresse de marequete
sql *unerequete; // un pointeur sur ta requete.
Maintenant, sur comment passer les messages entre client/serveur cela dépend de l'api et de ce q'il propose et donc je ne peux rien te dire dessus, cela fait un bon moment que je nen ai pas utilisé. En C je sais que l'on ecrit sur un filedescriptor et l'autre lit dessus, je ne sais plus ...
TuXor
2 juin 2005 à 11:04
- Messages postés
- 97
- Date d'inscription
- lundi 23 mai 2005
- Statut
- Membre
- Dernière intervention
- 28 avril 2006
2 juin 2005 à 11:04
Salut kij,
je pense quetu a bien raison de te poser des question sur la validité de l'adresse que tu veux passer a ton client.
car si j'ai bien compris c'est le serveur qui exécute la requète et qui renvoi le résultat au client (normal pour un serveur).
mais comme ce sont deux machines différantes, l'adresse que le serveur renverrait au client, correspondrait a un espace mémoire dont on ne peut rien savoir (a part son contenu brut) et qui ne risque pas de contenir les données escomptées.
Sinon ce que je te conseille, c'est de revoyer le résultat sous forme de buffer, et de le copier ensuite dans une structure identique a celle de départ.
pour récuérer l'adresse d'une variable en c, on utilise
& <variable>.
mais si il s'agit d'un tableau de caractères, il suffit de passer le nom du tableau, qui est lui même un pointeur.
on peut aussi se compliquer la vieinutilement en renvoyant
& tab[0]
en espérant que cela puisse t'être utile @+
je pense quetu a bien raison de te poser des question sur la validité de l'adresse que tu veux passer a ton client.
car si j'ai bien compris c'est le serveur qui exécute la requète et qui renvoi le résultat au client (normal pour un serveur).
mais comme ce sont deux machines différantes, l'adresse que le serveur renverrait au client, correspondrait a un espace mémoire dont on ne peut rien savoir (a part son contenu brut) et qui ne risque pas de contenir les données escomptées.
Sinon ce que je te conseille, c'est de revoyer le résultat sous forme de buffer, et de le copier ensuite dans une structure identique a celle de départ.
pour récuérer l'adresse d'une variable en c, on utilise
& <variable>.
mais si il s'agit d'un tableau de caractères, il suffit de passer le nom du tableau, qui est lui même un pointeur.
on peut aussi se compliquer la vieinutilement en renvoyant
& tab[0]
en espérant que cela puisse t'être utile @+
kij_82
2 juin 2005 à 11:14
- Messages postés
- 4088
- Date d'inscription
- jeudi 7 avril 2005
- Statut
- Contributeur
- Dernière intervention
- 30 septembre 2013
2 juin 2005 à 11:14
Merci à tous le deux,
cela confirme ce que je pensais masi ej ne voulais pas me lancer dans un truc bien merdique (La structure est la suivante :
Bon bah, je me met au boulot. C'est sutout pour le ****tableau que ca va faire mal... mais bon : je l'ai déjà fait du Perl au C,alors du serveur au client... :)
++
cela confirme ce que je pensais masi ej ne voulais pas me lancer dans un truc bien merdique (La structure est la suivante :
typedef struct temp { char ****tableau; int nb_retours; int *nbligne; int *nbchamp; };)
Bon bah, je me met au boulot. C'est sutout pour le ****tableau que ca va faire mal... mais bon : je l'ai déjà fait du Perl au C,alors du serveur au client... :)
++