[C] Copier une matrice avec memcpy

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.
Configuration: Windows XP
Firefox 3.0.4

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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. Modérateur
      Salut,

      Tout dépend comment est faite ta matrice: tableau de pointeur ou tableau multidimensionnel...
      1. Elle ressemble à çà : int A[lignes][colonnes] = { {1,2,3,4}, {11,12,13,14}, {21,22,23,24} };
        1. 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 ?
          1. Contributeur
            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.