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++Builder Discussion :

Diff�rence entre un String et un string ? [FAQ]


Sujet :

C++Builder

  1. #1
    Membre �clair�

    Inscrit en
    F�vrier 2005
    Messages
    356
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 356
    Par d�faut Diff�rence entre un String et un string ?
    Bonjour tout le monde !

    Voil�, j'ai cr�� un programme et j'utilise des String pour tous chaine de caract�re.

    Ensuite, je souhaite sauvegarder des donn�es dans un fichier, pour cela, j'ai cr�� une class Fichier et dans dedans, impossible de cr�er une chaine de caract�re avec le mot String.

    Seulement en �crivant string avec un S minuscule, �a passe.

    Par contre, je rencontre des problemes entre mes classes, comment faire ? Quel est la diff�rence avec String et string ?

    Merci de vos r�ponses

    PS : pourtant, j'ai fait un #include <string>

  2. #2
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    std::string (inclure <string>) est le type standard pour les chaines de caract�res en C++.
    Il est directement compatible avec les types standard pour les fichiers : std::ofstream, std::ifstream, std::fstream (-> <fstream>) ; en fait, plus g�n�ralement std::string est compatible avec les flux standard.

    Quant � String ... j'imagine que c'est un truc propri�taire et pas n�cessairement portable qui vient d'une biblioth�que que tu utilises.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  3. #3
    Membre �clair�

    Inscrit en
    F�vrier 2005
    Messages
    356
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 356
    Par d�faut
    D'accord, �a veut donc dire que je ne peut pas utiliser String avec ma class Fichier.

    Comment puis-je faire alors lorsque j'appelle une m�thode de la class Fichier avec en parametre un String.

    Voil� un exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    String Chaine="coucou";
    Fich->Ecrire(Chaine);
    Voil� ma class Fichier :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    bool Fichier::Ecrire(string Message)
    {
            bool Creation=true;
     
            ofstream Fiche(Nom,ios::out || ios::binary);
            Fiche<<Message;
            if(Fiche==0)
                    Creation=false;
            return Creation;
    }
    Je ne peut pas passer ma variable "Chaine" en parametre car ce n'est pas du meme type.

    A la compilation avec BC++6, il me marque :
    - [C++ Erreur] TrameWM918.cpp(60): E2034 Impossible de convertir 'AnsiString' en 'int'
    - [C++ Erreur] TrameWM918.cpp(60): E2342 Mauvaise correspondance de type dans le param�tre 'string' ('int' d�sir�, 'AnsiString' obtenu)

    Comment faire ? Merci d'avance

  4. #4
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    On dirait qu'ici String est un typedef sur AnsiString. Pour passer de l'un � l'autre, il faut utiliser la fonction membre c_str() qui renvoie un const char* (dispo sur AnsiString et string).

  5. #5
    Membre �clair�

    Inscrit en
    F�vrier 2005
    Messages
    356
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 356
    Par d�faut
    Oui merci bien, �a marche parfaitement !

    Si vous pouvez m'aider sur un autre probleme avec mes "thread", je serait ravis.


+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Xquery]diff�rence entre data() et string()
    Par mamiberkof dans le forum XQUERY/SGBD
    R�ponses: 1
    Dernier message: 10/01/2007, 13h14
  2. R�ponses: 7
    Dernier message: 10/07/2006, 13h25
  3. Diff�rence entre String et Int
    Par Alchimist dans le forum Langage
    R�ponses: 6
    Dernier message: 05/04/2006, 11h00
  4. diff�rence entre <string.h> et <string>
    Par mister3957 dans le forum C++
    R�ponses: 3
    Dernier message: 20/03/2006, 19h33

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