Accueil > Forum > > > > Probléme Tableau associatif a 3 champs
Probléme Tableau associatif a 3 champs
samedi 26 décembre 2009 à 15:11:20 |
Probléme Tableau associatif a 3 champs

jerem3000
|
Bonjour,
Je suis en train de crée un petit programme serveur => client et j'ai maintenant besoin de stocker le nom d'utilisateur avec la socket qui lui appartient.
J'ai donc pensé a crée un tableau associatif dans ce style :
1 user1 numéro_socket
2 user2 numéro_socket
Le problème c'est que avec std::map je ne peut mètre 3 champs et que les tableau multidimensionnel je n'arrive pas a le faire avec des char.
je pense que vous n'aurait pas de mal a me dire comment faire mais je débute et je commence a désespérer ^^
Merci d'avance
Jérémy
|
|
samedi 26 décembre 2009 à 15:35:17 |
Re : Probléme Tableau associatif a 3 champs

CptPingu
|
Bonjour, peux-tu préciser ton problème ? Je n'ai pas compris grand chose.
Si tu veux associer un utilisateur à deux informations, il suffit de l'associer à une paire: "std::map<std::string, std::pair<int, int> > >"
Si tu veux l'associer à plusieurs informations, alors il te faut créer ton propre conteneur ou utiliser un boost::tuple.
|
|
samedi 26 décembre 2009 à 15:49:51 |
Re : Probléme Tableau associatif a 3 champs

jerem3000
|
j'ai regarder du coté de std::pair mais après j'ai un problème pour récupérer les valeur.
En gros j'ai mon serveur, pour chaque client il crée un thread. le problème est que chaque thread dois pouvoir faire un send au autre utilisateur et donc connaitre leur socket.
je me suis donc dit que si a chaque thread utilisateur crée je rentré dans un tableau les information néssaire cela résoudrai ce problème.
donc le tableau aurait un nom du style tableau[1] avec comment valeur nom d'utilisateur et numéro du socket.
donc voila tableau[1] aurait comme première valeur un char et en seconde un int mais il me faut qu'il soit identifier par un int (donc la le 1) pour me permettre un envoie a tous les utilisateur par une simple boucle qui incrémente a chaque passage.
Même la cela ne dois pas être très précis… comme je vous est dit je débute et j’ai moi même du mal a mi retrouver.
jérémy
|
|
samedi 26 décembre 2009 à 15:53:35 |
Re : Probléme Tableau associatif a 3 champs

jerem3000
|
Pour faire simple il me faut faire comme un array en php
jérémy
|
|
samedi 26 décembre 2009 à 15:57:27 |
Re : Probléme Tableau associatif a 3 champs

CptPingu
|
Il te faut alors un std::vector. C'est la chose la plus proche de l'array du php.
Du genre: std::vector<std::pair<std::string, int> > tab;
(avec std::string pour le nom de l'utilisateur, et int pour le numéro du socket).
Pour l'utiliser:
tab[numéro] = std::make_pair("Toto", 90);
std::cout << tab[numéro].first << " " << tab[numéro].second << std::endl;
|
|
samedi 26 décembre 2009 à 16:10:03 |
Re : Probléme Tableau associatif a 3 champs

CptPingu
|
J'ai oublié de préciser, pour faire un:
tab[numéro] = std::make_pair("Toto", 90);
Il faut que la case au numéro indiqué existe.
Si tu veux le créer à la volée, utilise:
tab.push_back(std::make_pair("Toto", 90));
qui veut dire le mettre à la fin de la liste et l'agrandir de un automatiquement ;)
|
|
samedi 26 décembre 2009 à 16:21:39 |
Re : Probléme Tableau associatif a 3 champs

jerem3000
|
Je comprenne pas pourquoi j'avait une méchante erreur :p
C’est exactement ce qu'il me faut puis sa a l'air asser simple a utiliser :)
Dernière choses d'on j'ai besoin et après j’aurais tous ce qu'il me faut.
Comment effacer une ligne?
j'ai vus tab.erase() mais que faut t'il mettre comme argument pour sélectionner la ligne?
en tous cas un grand merci cela marche trés bien
jérémy
|
|
samedi 26 décembre 2009 à 16:38:10 |
Re : Probléme Tableau associatif a 3 champs

jerem3000
|
j'ai trouver:
tab.erase( tab.begin());
encore merci
jérémy
|
|
Cette discussion est classée dans : tableau, champs, socket, probléme, associatif
Répondre à ce message
Sujets en rapport avec ce message
Socket Raw [ par tquille ]
Salut,J'utilise les socket en mode Raw et j'inclus l'entete IP à l'emission grace à la ligne suivante :setsockopt(socket,IPPROTO_IP,IP_HDRINCL,(char *
connexion entre socket sous MFC [ par seito ]
bonjours ,s'il vous plait est ce que quelqu'un peut m'aider j'essai de déveloper une application de chat en réseaux sous "Visual C++ 6.0"le probléme c
probléme d'allocation mémoire ? [ par templeofboom ]
dans le cadre du développement d'une application de socket sous devcpp je me retrouve bizarrement coincé a cause d'une erreur d'allocation mémoire à
Acces à des elements d'un SAFEARRAY de structures [ par wismerhill__ ]
Bonjour je veux exporter un UDT VBA vers C++, j'y arrive, mais je ne sais pas comment acceder aux champs de mon UDT ma struct cppstruct DATA {<
probléme de programation [ par hamoudito ]
double**tableau; tableau=new double*[this->Input->GetNumberOfCoordinates()]; //ici je mets tuos les points que j'ai en ligne dans le tableau for(in
Tableau en #define [ par boudafc ]
Bonjour,je souhaite pouvoir définir dans un #define tout le contenu d'un tableau comme suit:#define CHAMPS "\"TOTO\", \"TATA\", \"TITI\""et dans mon c
probléme socket du serveur. [ par jerem3000 ]
Bonsoir, Actuellement je commence a apprendre la programmation réseau et j'ai un peut du mal a tous comprendre, j'ai donc commencé a analyser le fonc
probléme avec création de tableau d'objet [ par tibob51 ]
Bonjour a tous,J'ai lu dans mon bouquin de c++ (j'apprend tout seul par passion) que l'onpeut créer un tableau d'objetexemple:class A{..A(int i);//con
Excel 2007, filtrer un tableau croisé dynamique avec 2 champs dépendants [ par Paulo66 ]
Bonjour a tous, Je ne suis pas surement pas sur le bon forum mais je ne trouve pas développement office dans la liste déroulant [^^confus5] Je suis
Socket probléme [ par andoid ]
Bonjour j'ai un serveur avec deux clients multijoueur differents j'ai utilisé select.. Mon probleme est lorsqu'un client place un joueur les autres cl
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|