Question sur C chaine de caractère Aidé moi
kribac
Messages postés
148
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour a ts é a tte
j'ai "p" une chaine de caractère char p[20];
par ex p = "bonjour monsieur"
ce que je veux faire c'est de copié "monsi" de ma chaine p sur une autre variable "b" qui é une chaine de caractère
for(..i de 9 a 16.....) strcpy(a,p[i]);
mais cela ne marche pas par ce que on doi faire strcpy(a,p) et comme ça il me copie tte la chine :(
et j'ai essayé strncpy(a,p,5) et cella marche mé elle me copie les 5 premier caractère donc il me copie "bounjo" mais moi je veux copié "monsi"
est ce que il ya une solution a ça ? je suis blocké je ne pas continué mon TP :( merci bqq a tsss
j'ai "p" une chaine de caractère char p[20];
par ex p = "bonjour monsieur"
ce que je veux faire c'est de copié "monsi" de ma chaine p sur une autre variable "b" qui é une chaine de caractère
for(..i de 9 a 16.....) strcpy(a,p[i]);
mais cela ne marche pas par ce que on doi faire strcpy(a,p) et comme ça il me copie tte la chine :(
et j'ai essayé strncpy(a,p,5) et cella marche mé elle me copie les 5 premier caractère donc il me copie "bounjo" mais moi je veux copié "monsi"
est ce que il ya une solution a ça ? je suis blocké je ne pas continué mon TP :( merci bqq a tsss
A voir également:
- Question sur C chaine de caractère Aidé moi
- Caractère spéciaux - Guide
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
1 réponse
Pour décaler ta chaîne de caractères tu peux utiliser l'opérateur +
La confiance n'exclut pas le contrôle
strncpy(a,p+8,5);Sinon il suffisait de faire ta boucle for, mais au lieu d'utiliser strcpy, il faut directement copier les caractères les uns après les autres.
int i;
for (i=0; i<5; i++)
a[i]=p[i+8];
a[5]='\0';
La confiance n'exclut pas le contrôle