IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

gestion du pointeur


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut gestion du pointeur
    bonjour,
    j'ai un pointeur qui pointe sur 64 case memoire c_à_d que je stock une chaine de 64 caractéres alors je veut extraire la chaine de caractére et la divise sur 4 vatiable comme suit T1[16],T2[16] ,T3[16] et T4[16] et l'afficher

  2. #2
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    et ? quelle est ta question ?
    Vous postez du code ? Merci d'utiliser les balises
    Un message vous paraît pertinent ? Merci de le gratifier d'un vote positif
    Vous avez obtenu une réponse à votre question ? Merci d'utiliser le tag
    __________________
    Ingénieur R&D, diplômé en 2007 de l'ISIMA
    Docteur en informatique, diplômé en 2015 de l'EDSPI de Clermont-Ferrand

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    A priori, comme tu l'as mentionné, il suffit d'affecter à T1 les 16 premiers caractères, à T2 les 16 suivants etc. Je pense que la réponse à ton problème est dans ton propre message...

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut
    le probléme est que lorsque je fait le boucle de 0 jusqu'a strlen(mon pointeur) et je fait affichage seulement seulement le premier tableu est juste les autr sont faut

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Montre le code que tu as écrit.

  6. #6
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    on peut voir ton code ?
    Vous postez du code ? Merci d'utiliser les balises
    Un message vous paraît pertinent ? Merci de le gratifier d'un vote positif
    Vous avez obtenu une réponse à votre question ? Merci d'utiliser le tag
    __________________
    Ingénieur R&D, diplômé en 2007 de l'ISIMA
    Docteur en informatique, diplômé en 2015 de l'EDSPI de Clermont-Ferrand

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut voici le code
    for (i=0;i<16;i++)
    {
    T1[i]=Buffer[i];
    T2[i]=Buffer[i+16];
    T3[i]=Buffer[i+32];
    T4[i]=Buffer[i+44];
    }

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for (i=0;i<16;i++)
    {
    T1[i]=Buffer[i];
    T2[i+16]=Buffer[i+16];
    T3[i+32]=Buffer[i+32];
    T4[i+44]=Buffer[i+44];
    }
    Que viennent faire ici ces choses (que j'ai mis en rouge) ?

    (EDIT : Apparemment, t'as édité entre temps.)

    * 32 + 16 ne fait pas 44.

    2) Tes 4 tableaux doivent chacun avoir une taille de 17. Une chaine de caractères se finit toujours par un '\0'... qu'il faut donc ajouter également.

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut
    tu as raison j'ai oublié de mettre la fin du chaine : '\0'
    merci bien

  10. #10
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 677
    Points : 30 965
    Points
    30 965
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dido1987 Voir le message
    for (i=0;i<16;i++)
    {
    T1[i]=Buffer[i];
    T2[i]=Buffer[i+16];
    T3[i]=Buffer[i+32];
    T4[i]=Buffer[i+44];
    }
    Pourquoi cette boucle ? memcpy le fait pour toi !!!
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    memcpy(T1, buffer, 16);
    memcpy(T2, buffer + 16, 16);
    memcpy(T3, buffer + 32, 16);
    memcpy(T4, buffer + 48, 16);
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Pourquoi cette boucle ? memcpy le fait pour toi !!!
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    memcpy(T1, buffer, 16);
    memcpy(T2, buffer + 16, 16);
    memcpy(T3, buffer + 32, 16);
    memcpy(T4, buffer + 48, 16);
    tellement le boucle m'a enervé car il y a toujours décalage d'un caractere alors j'ai essayer votre code la compilation marche mais l'affichage est faux il ya le premier caractére qui répéte 2 et3 fois?????

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut chaine de char


    j'ai modifier la boucle
    for (i=0;i<16;i++)
    {
    ( t1[i]=Buffer[i] , t2[i]=Buffer[16+i] , t3[i]=Buffer[32+i] , t4[i]=Buffer[48+i]);
    }
    mais il y a toujours l'affichage faux

  13. #13
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Tu as encore oublié le '\0' terminal
    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
     
    #define DIM 16
    char t1[DIM +1];
    char t2[DIM +1];
    char t3[DIM +1];
    char t4[DIM +1];
     
     for (i=0;i< DIM;i++)
     {
        t1[i]=Buffer[i] ;
        t2[i]=Buffer[DIM +i] ;
        t3[i]=Buffer[2*DIM +i] ;
        t4[i]=Buffer[3*DIM +i];
     }
      t1[DIM ]= '\0';
      t2[DIM ]= '\0';
      t3[DIM ]= '\0';
      t4[DIM ]= '\0';
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  14. #14
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par diogene Voir le message
    Tu as encore oublié le '\0' terminal
    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
     
    #define DIM 16
    char t1[DIM +1];
    char t2[DIM +1];
    char t3[DIM +1];
    char t4[DIM +1];
     
     for (i=0;i< DIM;i++)
     {
        t1[i]=Buffer[i] ;
        t2[i]=Buffer[DIM +i] ;
        t3[i]=Buffer[2*DIM +i] ;
        t4[i]=Buffer[3*DIM +i]);
     }
      t1[DIM ]= '\0';
      t2[DIM ]= '\0';
      t3[DIM ]= '\0';
      t4[DIM ]= '\0';
    aprés le traitement du boucle que j'ai fait j'ai fait la concaténation de '\0' mais ça donne le meme probléme

  15. #15
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Poste le code COMPLET et compilable que tu utilises, sinon on va tourner en rond indéfiniment.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  16. #16
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 1
    Points
    1
    Par défaut
    à diogene
    j'ai essayer ton code et et apart le petit parantése
    t4[i]=Buffer[3*DIM +i]);
    la simulation a marché et l'affichage aussi alors monsieur merci bien pour votre aide

Discussions similaires

  1. Gestion de pointeurs
    Par fogan dans le forum Débuter
    Réponses: 2
    Dernier message: 28/10/2012, 12h35
  2. une mauvaise gestion de pointeur ?
    Par SergioMaster dans le forum Débuter
    Réponses: 8
    Dernier message: 19/04/2012, 09h34
  3. Gestion des pointeurs
    Par koukiya dans le forum Débuter
    Réponses: 3
    Dernier message: 15/12/2008, 01h08
  4. Problème avec str_sub et gestion des pointeurs
    Par toine44 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/06/2008, 15h30
  5. Problème de gestion de chaînes avec pointeur
    Par LorDjidane dans le forum C
    Réponses: 18
    Dernier message: 19/10/2005, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo