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 :

comment je peux nettoyer le contenu de atoi()


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Par défaut comment je peux nettoyer le contenu de atoi()
    bonjour
    j'ai fait une boucle qui à chaque fois elle convertit une chaine ch[i] à un entier mais je veux qu'après 4 fois , elle s'initialise à nouveau , est-ce que quelqu'un peut m'aider, merci

    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
     
     
    while(j>=0)
     {
            prec=j-4;
        while(j!=prec)
         {
             entier=atoi(& ch[j] );
             compteur++;
             j--;
         }
         if(compteur==4)
         {
          compteur=0;
            InsFin(entier);
    }

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut, peux-tu expliquer plus précisément ce que tu veux faire?

    Par exemple, à quoi tu fais appel pour initialiser ta chaine, et quel est le but de l'algorithme?

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Par défaut
    Bonjour Coyotte
    l'algorithme reçoit une chaîne par exemple "277377636638373", convertit chaque lettre ch[j] en un entier , puis il regroupe chaque nombre constitué de 4 chiffre dans une liste chainée : InsFin(entier);

    le problème c'est que atoi() se souvient du dernier entier par exemple 8373, je veux qu'après chaque 4 boucle elle s'initialise à nouveau c'est à dire lui affecter 0 pour pouvoir faire le traitement sur 3663

    j'espere que tu as compris mon problème

  4. #4
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Je ne suis pas sûr de très bien comprendre.

    Par exemple ce code:

    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
    #include <iostream>
    using std::cout;
    using std::endl;
     
    int main()
    {
      const char *a= "1277377636638373";
      int len = strlen(a);//longueur de a
     
      for (int i = len - 4; i >= 0; i-=4)
      {
          char temp[5];
          strncpy(temp, &a[i], 4); //on copie les 4 caractères de a qui nous intéressent
          cout << "entier: " << atoi(temp) << endl;
      }
      return 0;
    }
    Est-il dans l'esprit de ce que tu veux?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    tu trouveras plus d'aides sur le forum C

  6. #6
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    En fait , atoi ne garde rien en mémoire.

    Elle convertit juste un char* en int, en prenant le maximum de chiffres du char*.

    Peut-être que tu as une confusion à ce niveau-là.

  7. #7
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Ouai atoi() c'est purement du C... c'est pas forcément le forum le plus approprié.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment je peux afficher le contenu de ma base de données
    Par HMFouad dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 22/05/2012, 10h20
  2. Réponses: 10
    Dernier message: 28/12/2007, 16h58
  3. [TP]Comment je peux creer un bouton avec Pascal ?
    Par JaVaCode dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 06/12/2004, 18h28
  4. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  5. Réponses: 3
    Dernier message: 25/07/2002, 10h42

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