Copier le contenu d'un tb dans un autre sans copier tout les élément 1 a un.

cs_Fanu Messages postés 4 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 15 novembre 2003 - 14 nov. 2003 à 15:13
cs_Fanu Messages postés 4 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 15 novembre 2003 - 14 nov. 2003 à 17:23
Salut a tous.
J'aimerais savoir s'il existe un moyen de copier directement tou ou une partie du contennu d'un tableau dans un autre tableau.
Un truc un peu comme la fonction mid sur vb mais pour les tableaux (nombre) :
par exemple : mid("ABDCE",depart=2,longueur=2)="DC"

Au lieu d'être obligé d'utiliser for sur chaque nombre du tableau.

Voila!

Merci d'avance pour vos reponses qui pourront surement aider un débutant dans la prog C++ (j'essaye de passer du vb a C++ et on sent la difference!)

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2003 à 15:27
C'est pas parce que Mid masque la boucle qu'elle n'y est pas. En C on voit les choses c'est la difference.
Il y a memcpy.
BruNews, ciao...
0
cs_Fanu Messages postés 4 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 15 novembre 2003
14 nov. 2003 à 15:35
Merci, mais c quoi memcpy?
Est ce ke c plus rapide que d'utiliser for?
Sinon ca na pas d'interet pour moi.

encor merci
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 nov. 2003 à 15:47
memcpy copie directement des blocs mémoires et est donc optimisée par rapport à une boucle for standard
ex :

avec boucle for:

int tab1[32];
int tab2[32];
for(int i = 0; i < 32; i++)
tab2[i] = tab1[i];

avec memcpy
memcpy(tab2, tab1, 32*sizeof(int));
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2003 à 15:48
Pas obligatoirement plus rapide, une boucle for bien ecrite peut etre aussi efficace.
for n'est pas la seule possibilite.
Exemple de recopie de buff2 dans buff1, tous 2 des string au sens C avec ZERO final:char *c buff2, *d buff1;
while(*d++ = *c++); // FIN
BruNews, ciao...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Fanu Messages postés 4 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 15 novembre 2003
14 nov. 2003 à 17:23
Merci les gars, vraiment c simpa!
Si je vous avait devant moi je sais pas si je vous serrerai la main ou si je vous lecherait le visage, mais la je vais juste vous dire que vous m'enlevez de fastidieuses recherches dans les bouquins.

Merci encore!

a++ :big)
0
Rejoignez-nous