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
Version imprimable
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:
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.Citation:
Envoyé par yannickrohel
Une utilisation astucieuse de strncat() permet ça. Bien lire la doc...Citation:
dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci
Piegeux... Mais pas plus que memcpy()...Citation:
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:
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 ?Citation:
Envoyé par reggae
C'est exact, il manque le zéro final!Citation:
Et le zéro final, il tombe du ciel ?
-->Oopppsss :oops:Code:
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'; }