Accés au éléments d'une chaine
clarabella 32
-
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
mon problème est le suivant:
je déclare une chaine dans le C: char chaine[50]
ensuite je veux traiter les caractères de ma chaine un a un, normalement j'accéde à chaque élément avec chaine[i] OR chaine[i] me renvoie toujours la chaine initiale à partir de l'indice i????!!
exemple: chaine[50]="bonjour";
chaine[2]="njour"
ce n'est pas normal non???
et je sais que je peux obtenir le caractère si je fais printf("%lc",chaine[i]), mais j'ai besoin des caractères pour les traiter pas seulement pour afficher,
Vous serez vraiment gentils de me résoudre ce problème, merci et bonne journée.
mon problème est le suivant:
je déclare une chaine dans le C: char chaine[50]
ensuite je veux traiter les caractères de ma chaine un a un, normalement j'accéde à chaque élément avec chaine[i] OR chaine[i] me renvoie toujours la chaine initiale à partir de l'indice i????!!
exemple: chaine[50]="bonjour";
chaine[2]="njour"
ce n'est pas normal non???
et je sais que je peux obtenir le caractère si je fais printf("%lc",chaine[i]), mais j'ai besoin des caractères pour les traiter pas seulement pour afficher,
Vous serez vraiment gentils de me résoudre ce problème, merci et bonne journée.
A voir également:
- Accés au éléments d'une chaine
- Acces rapide - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Accès refusé - Guide
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
5 réponses
effectivement, chaine[i] est censé être un caractère...
comment déclares-tu ton tableau exactement ?
Comment modifies-tu tes caractères ?
comment déclares-tu ton tableau exactement ?
Comment modifies-tu tes caractères ?
Non, je pense que ça ne va pas marcher comme ça.
scanf(" %s", &chaine)
fonctionne pour remplir la chaine.
Pas pour une structure a priori (même si selon les cas ça peut marcher).
Il faut remplir séparément les éléments de ta structure, c'est plus prudent.
Quel est la strcuture dont tu parles ?
scanf(" %s", &chaine)
fonctionne pour remplir la chaine.
Pas pour une structure a priori (même si selon les cas ça peut marcher).
Il faut remplir séparément les éléments de ta structure, c'est plus prudent.
Quel est la strcuture dont tu parles ?
struct instr
{
struct instr *suiv;
int prec;
int succ;
char mot[100];
};
struct instr *Creerinstr (char c[])
{
struct instr *P;
P = (struct instr *) malloc( sizeof(struct instr)) ;
strcpy(P->mot, c);
P->prec = 0;
P->succ = 0;
P->suiv = NULL;
return (P) ;
}
voilà maintenant l'accés à ch[i] ne marche ps:ça donne tte la chaîne à partie de la case i, merci bien.
{
struct instr *suiv;
int prec;
int succ;
char mot[100];
};
struct instr *Creerinstr (char c[])
{
struct instr *P;
P = (struct instr *) malloc( sizeof(struct instr)) ;
strcpy(P->mot, c);
P->prec = 0;
P->succ = 0;
P->suiv = NULL;
return (P) ;
}
voilà maintenant l'accés à ch[i] ne marche ps:ça donne tte la chaîne à partie de la case i, merci bien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question