Question sur C chaine de caractère Aidé moi

kribac Messages postés 148 Statut Membre -  
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
A voir également:

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Pour décaler ta chaîne de caractères tu peux utiliser l'opérateur +

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
1