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

Langage C++ Discussion :

atoi qui débloque


Sujet :

Langage C++

  1. #1
    Membre averti
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Points : 344
    Points
    344
    Par défaut atoi qui débloque
    Hello,

    Petit souci de convertion... Surement rapide à régler, mais la, y a qqch qui me laisse pantois...

    J'ai 2 méthodes dans ma classe (classe d'abstraction de connexion a une db postgresql):
    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
    19
    20
    DB_Err Db_manager::get_configdata(string configModule, string configParameter, string &configData) {
     
    	// Initialize sql string
    	this->sqlQuery.str("");
     
    	this->sqlQuery << "select parameterData from configurations where moduleId = '" << configModule << "' and parameterId = '"<< configParameter <<"' limit 1";
     
    	// Execute SQL
    	this->res = PQexec(this->conn,this->sqlQuery.str().c_str());
     
    	if(this->isDebug){
    		this->debug();
    	}
     
    	if(PQntuples(this->res) != 0){
    		configData = PQgetvalue(this->res,0,0);
    	}
     
    	return this->get_internal_status();
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DB_Err Db_manager::get_configdata_int(string configModule, string configParameter, int &configData) {
     
    	string tempConfigData;
     
    	if(this->get_configdata(configModule, configParameter, tempConfigData) == DB_OK){
    		configData = atoi(tempConfigData);
    	}
     
    	if(this->isDebug){
    		this->debug();
    	}
     
    	return this->get_internal_status();
    }
    Et le problème se pose sur ma ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = atoi(tempConfigData);
    Il me renvois un gentil:
    Description Resource Path Location Type
    cannot convert 'std::string' to 'const char*' for argument '1' to 'int atoi(const char*)' db_manager.cpp /dbmanager/src line 711 C/C++ Problem
    Alors que je ne comprends pas pourquoi! J'ai pas de char *! Mon tempConfigData est un string, et si je fais un (en mettant configData en int, évidemment...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = PQgetvalue(this->res,0,0);
    Je n'ai pas la moindre erreur.

    Pourquoi le fait de faire mon atoi sur ma string après etre passée par la fonction me fait chier ? De meme, si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = atoi("1");
    Il rale plus!

    Bref, y a qqch qui m'échappe, mais je vois pas quoi?

    Merci d'avance.
    Onet

  2. #2
    Membre averti
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Points : 344
    Points
    344
    Par défaut
    Bon, fait différement.

    Désolé pour le bruit (mais je comprends pas quand meme, donc j'accepte une réponse)

    Onet

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par onet Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = atoi(tempConfigData);
    Il me renvois un gentil:
    cannot convert 'std::string' to 'const char*' for argument '1' to 'int atoi(const char*)
    Alors que je ne comprends pas pourquoi!
    atoi veut un char const * et tu lui donnes un std::string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = atoi("1");
    Il rale plus!
    Ici tu lui donnes un char const[1] ; qui est converti en char const *.

    Probable que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configData = atoi(tempConfigData.c_str());
    fera l'affaire.

Discussions similaires

  1. Parcours qui se débloque apres click répèté
    Par Skullnyco dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/04/2013, 19h04
  2. écran qui débloque
    Par ChTiRiBi dans le forum Windows Vista
    Réponses: 2
    Dernier message: 31/07/2008, 10h12
  3. Ma fonction qui affiche les mois débloque
    Par isa150183 dans le forum Langage
    Réponses: 4
    Dernier message: 19/10/2006, 20h05
  4. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  5. Recherche programme qui convertit les chiffres arabes en nb
    Par oli57 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/06/2002, 03h11

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