[C] Copier une matrice avec memcpy

Fermé
edouard30 Messages postés 5 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 12 décembre 2008 - 12 déc. 2008 à 14:19
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 15 déc. 2008 à 12:03
Bonjour à tous,

J'aimerais copier une matrice avec memcpy mais sans succès.
Le résultat est un enregistrement continu.
Ex :
123
456
789
devient :
123456789

Merci de votre aide.
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
12 déc. 2008 à 23:51
Salut,
Pour copier, un tableau dans un autre :
Par exemple :
int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int B[3][3];
memcpy(B,A,sizeof(A));
1
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
12 déc. 2008 à 14:42
Salut,

Tout dépend comment est faite ta matrice: tableau de pointeur ou tableau multidimensionnel...
0
edouard30 Messages postés 5 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 12 décembre 2008
12 déc. 2008 à 20:48
Elle ressemble à çà : int A[lignes][colonnes] = { {1,2,3,4}, {11,12,13,14}, {21,22,23,24} };
0
fiddy, ta proposition copie seulement le chiffre 1.
J'ai essayé ( sizeof (int) * A) sans succès (il refuse la multiplication)
Cela ne fonctionne-t-il qu'avec des pointeurs ?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
15 déc. 2008 à 12:03
Désolé, tu as dû mal tester, car ça marche très bien.
Donne moi le code que tu as fait pour tester le memcpy.
0