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 :

String vraiment nécessaire ?


Sujet :

C++

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut String vraiment nécessaire ?
    Bonjour,

    Je suis en train d'écrire une appli qui utilise une librairie graphique et une base de données embarquée.
    Je sais qu'en C++ pour les chaines de caractères on utilise les strings, mais, tenant compte du fait que la librairie graphique et la bdd embarquée ne prennent que des const char* comme argument je ne sais pas trop quoi faire.
    Est ce que ça vaut le coup d'utiliser des strings dans mon appli sachant que cela va entrainer un castage string->char* char*->string permanent ?

    Merci pour vos avis éclairés.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Oui.
    Surtout qu'en plus ton API semble const-correcte, donc ça se fait assez facilement.

    Par contre, pourquoi ne pas utiliser des bibliothèques écrites en C++ ?
    Boost ftw

  3. #3
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Par contre, pourquoi ne pas utiliser des bibliothèques écrites en C++ ?
    Le GUI (fltk) est en C++ et est trés bien conçu, mais tous les widget ayant rapport avec des chaines de caractères prennent des const char* en argument (ne me demandes pas pourquoi )
    Quand à la bdd embarquée c'est Sqlite qui est trés bien aussi, mais tout l'interfaçage est en C pur.
    Là non plus je ne sais pas pourquoi ils ne l'ont pas fait en C++.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Il y a plein de bibliothèques C++ qui permettent de s'interfacer avec sqlite.
    Par exemple SOCI.
    Boost ftw

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    pourquoi ne pas utliser les String de la stdc++. La classe t'offre la methode String::c_str(). C'est quoi le problème ?

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    les string C++ standard ne prennent pas de majuscule.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Points : 72
    Points
    72
    Par défaut
    les librairies externes utilisent (je pense) les const char * pour une meilleur compatibilité car des classes de string en C++ y'en a pas mal ! donc en passant par des char * ca te laisse libre d'utiliser la classe de string que tu souhaites!
    (CString, std::string, QString, wxstring, string_maison.....)
    got root?

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Ça n'a rien à voir avec la compatibilité.
    Ça utilise des const char* tout simplement parce que c'est const-correct.
    Boost ftw

Discussions similaires

  1. [Livre de programmation] Vraiment nécessaire ?
    Par B.Moncef dans le forum Débuter
    Réponses: 7
    Dernier message: 30/01/2009, 13h32
  2. [Reference][String][Integer] Qu'est ce vraiment ?
    Par ZeKiD dans le forum Langage
    Réponses: 17
    Dernier message: 24/01/2006, 17h22
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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