Copier un caractère dans une chaine de caractères

Copier un caractère dans une chaine de caractères - C++ - Programmation

Marsh Posté le 19-10-2002 à 14:14:07    

Ce problème doit être assez simple mais je bloque dessus.
J'ai un caractère c et une chaine s.
char c='+';
char s[3];
Je voudrais faire "s=c" et j'y arrive pas. J'ai essayé avec strcpy mais il ne prend que des chaines en paramètre.
Si vous avez une idée....

Reply

Marsh Posté le 19-10-2002 à 14:14:07   

Reply

Marsh Posté le 19-10-2002 à 15:12:20    

Si y a qu'un caractère à copier ds s
s[0] = c;
s[1] = '\0';
 
ou,  
je crois, sprintf(s, "%c", c);  // %c pour caractère (à vérifier)

Reply

Marsh Posté le 20-10-2002 à 04:33:42    

S'il s'agit d'une concaténation:

Code :
  1. int len= strlen(s);
  2. s[len]= c;
  3. s[len+1]= '\0';


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 20-10-2002 à 10:11:38    

tu vois ici apparemment c'est du C


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 20-10-2002 à 12:42:41    

En fait, j'ai une structure:
typedef struct noeud {
struct noeud * fils1;
struct noeud * fils2;
char racine[3];
}*arbre;
 
Et dès que dans une fonction je fais:
arbre a;
a->racine[0]='a';
a->racine[1]='b';
a->racine[2]='\0';
ou alors:
strcpy(a->racine,"ab" );
et bien ça me fait une erreur de segmentation!
 
Il y a quelque chose qui m'échappe...

Reply

Marsh Posté le 20-10-2002 à 12:49:56    

faudrait pas faire un truc genre arbre a = (arbre)malloc(sizeof(noeud)); ?


Message édité par antp le 20-10-2002 à 12:50:49

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 20-10-2002 à 12:52:06    

carrément ouais!


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 21-10-2002 à 04:55:14    

Les typedef de pointeurs, je ne les utilises que quand l'aspect pointeur ne sert pas...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed