bonjour,
j'ai une chaine string1 de 9 cararctères dont je veux écrire les 4 premiers dans une chaine string2...est ce que qqn peut m'écrire l'utilisation de substring dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci
bonjour,
j'ai une chaine string1 de 9 cararctères dont je veux écrire les 4 premiers dans une chaine string2...est ce que qqn peut m'écrire l'utilisation de substring dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 char string1[] = "n'importe quoi de plus de 4 caractères"; char string2[5]; memcpy(string2, string1, 4); string2[4] = 0;
Je connais pas substring, en fait il n'existe meme pas (pas d'apres le man en tout cas)
Sinon pour faire ce que tu veux une simple boucle suffit
Arf : ben voir le post de loufoque
Ou meme strncpy
N'existe pas.Envoyé par yannickrohel
Une utilisation astucieuse de strncat() permet ça. Bien lire la doc...dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci
Piegeux... Mais pas plus que memcpy()...Envoyé par Skyrunner
strncat est pratique en effet, car non seulement il n'y aura pas de soucis si la chaîne fait moins de 4 caractères mais en plus le '\0' final sera automatiquement ajouté.
Comme skyrunner te l'a suggéré, il te suffit d'écrire une simple boucle dans ce style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 main() { char string1[] = "voici un simple exemple"; char destination[5]; for (int i=1; i<6; i++) { string1[i]=destination[i]; } }
Et le zéro final, il tombe du ciel ?Envoyé par reggae
C'est exact, il manque le zéro final!Et le zéro final, il tombe du ciel ?
-->Oopppsss
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 main() { char string1[] = "voici un simple exemple"; char destination[5]; for (int i=0; i<3; i++) { string1[i]=destination[i]; } destination[4] = '\0'; }![]()
Partager