Probleme entre chaine et tableau

Signaler
Messages postés
11
Date d'inscription
vendredi 7 mars 2003
Statut
Membre
Dernière intervention
30 avril 2005
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
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

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
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 ..

++
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
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...
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
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