Probleme entre chaine et tableau

Elkaire Messages postés 11 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 30 avril 2005 - 31 juil. 2004 à 20:28
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 1 août 2004 à 00:19
salut a tous, je debute en C et je me retrouve confrontéau probleme suivant :

dans une mon application cllient serveur mon client envoie des trames sous forme de tableau et lors de leus receptions sur le serveur j'aimerais les avoir dans un pointeur donc je voudrai savoir si il existe une fonction ou un moyen d'enregistrer le contenu des différents elements de mon tableau sous forme d'une chaine de caractere.

merci d'avance pour l'aide eventuelle que vous pourriez m'apporter

Elkaire

3 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
31 juil. 2004 à 20:37
Tu recois des données sous forme d'octets, donc tu peu evidemment les stocker ds une chaine de caracteres, mais l'histoire du pointeur, dsl j'ai po compris ..

++
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
31 juil. 2004 à 21:09
Salut,
Les buffers des fonctions send() et recv() sont prototypées en char* mais cela ne veut pas dire que tu peux envoyer que des chaines de caracteres. Comme l'a dit AlexMAN, on recoit les données sous forme d'octet, apres c'est a toi d'interpreter ces octets comme il faut: chaine de caractere, tableau, structures...
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
1 août 2004 à 00:19
Une chaine de caractere se traite de la meme maniere qu'un tableau de caractère. Une chaine est representé par un pointeur qui designe son premier caractere avant toute incrementation.
Tu peux donc y acceder de la meme maniere qu'un tableau!

Pour t'en convaincre essaye ca:
[Code]
#include <stdio.h>

int main()
{
char *machaine = "salut";
printf("%c",machaine[1]);
return 0;
}
[Code]

Ca t'affichera la lettre "a".

Je pense que c'est ca que tu veux savoir.
Sinon donne un exemple pour ton probleme.

Shell
0
Rejoignez-nous