bonsoir,
j'aimerai bien récupérer une partie d'un mot (mais pas le début, donc au revoir memcpy).comment faire. merci
bonsoir,
j'aimerai bien récupérer une partie d'un mot (mais pas le début, donc au revoir memcpy).comment faire. merci
Ben une boucle un sscanf ou meme un peu plus de details sur ce que tu veux faire...
Pourquoi pas, memcpy() peut démarrer où on veut... Mais je conseille plutôt strncat(). Bien lire la doc...Envoyé par yannickrohel
Je rappele que quand on a un tableau 'a' :
- a (idem a + 0) est l'adresse du premier élément du tableau
- a + 1 est l'adresse du second
- etc.
mouais mais strncat concatêne deux chaines et memcpy prend les n premier caractères d'après mes essais. or moi je voudrai récupérer les n caractères à la fin..par ex : string="bonjour" et je voudrai récupérer "jour"
Oui, et quel est donc le problème ?Envoyé par yannickrohel
Il suffit de faire ``commencer'' la chaîne au bon endroit...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdio.h> #include <string.h> int main (void){ const char *chaine = "bonjour"; char tab[5] = {0}; memcpy (tab, &chaine[3], 4); fprintf (stdout, "%s\n", tab); return 0; }
Tu manques d'esprit d'aventure. Il faut pousser les expérimentations plus loin et chercher à comprendre le rôle de chaque paramètre. Ca ne se fait pas en lisant les docs en diagonale...Envoyé par yannickrohel
Non. Ce que tu veux, c'est récupérer n caractères (4) à partir de la position p (3) :or moi je voudrai récupérer les n caractères à la fin..par ex : string="bonjour" et je voudrai récupérer "jour"
Reste plus qu'à écrire une fonction astucieuse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <stdio.h> #include <string.h> int main (void) { char const *string = "bonjour"; char sub[10]; { size_t p = 3; size_t n = 4; /* strn*cat() veut une chaine de destination initialisee (ici, 'vide') */ *sub = 0; strncat (sub, string + p, n); } printf ("string = '%s'\n", string); printf ("sub = '%s'\n", sub); return 0; }
c-a-d, je suppose, une fonction qui renvoie les 4 derniers caractères de n'importe quel mot en tenant compte de différents problèmes comme chaîne trop courte ou inexistante (NULL par exemple).Envoyé par Emmanuel Delahaye
Oui, et surtout avec des paramètres permettant de choisir l'origine et la longueur ... bref, de ne pas réinventer la roue toutes les 5 minutes...Envoyé par Trap D
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager