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++/CLI Discussion :

Utilisation de la classe string dans Visual C++ 2010 Express


Sujet :

C++/CLI

  1. #1
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut Utilisation de la classe string dans Visual C++ 2010 Express
    Peut on utiliser la classe string dans visual C++ 2010 Express.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    string chaine;
     CString chaine2;
    Ne fonctionne pas

    J'ai pourtant mis les includes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h> 
    #include   <cstring> 
     
    #include   <cstdlib> 
    #include <string>
    Dans stdafx.cpp ou dans stdafx.h rien n'y fait.

  2. #2
    Membre exp�riment�
    Homme Profil pro
    Ing�nierie des systemes embarqu�s temps r�els
    Inscrit en
    Juin 2006
    Messages
    152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nierie des systemes embarqu�s temps r�els
    Secteur : Sant�

    Informations forums :
    Inscription : Juin 2006
    Messages : 152
    Par d�faut
    Citation Envoy� par Gilles57-H-G Voir le message
    Peut on utiliser la classe string dans visual C++ 2010 Express.

    string chaine;
    CString chaine2;

    Ne fonctionne pas

    J'ai pourtant mis les includes :
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <cstring>

    #include <cstdlib>
    #include <string>

    Dans stdafx.cpp
    using namespace std;

    et
    CString chaine2;
    ne se fait pas.

    attention au melange des headers c style et les headers c++
    #include <string.h>
    #include <cstring>

  3. #3
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut
    J'ai pas dis que j'ai fait juste.

    Je cherche comment utiliser la classe string en visual C++ Express.

  4. #4
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2003
    Messages
    43
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 43
    Par d�faut
    CString est sp�cifique � Microsoft et fait partie du framework ATL/MFC, non disponible avec Visual Studio Express (en clair, il faut payer pour en profiter).

    Tu peux te tourner vers std::string (#include <string>) qui remplace tr�s bien CString, et qui a l'avantage d'�tre portable.

  5. #5
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut
    J'ai fait un include de :

    #include <string>

    dans stdafx.cpp

    puis j'ai �crit

    string chaine;



    cela ne fonctionne pas string n'est pas reconnu.

  6. #6
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    D�tails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par d�faut
    std::string, comme tous les autres composants de la biblioth�que standard C++, se trouve dans le namespace std.
    Donc :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     #include <string>
    std::string chaine;

  7. #7
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut
    dans stdafx.cpp
    Puis dans Form1.h
    dans un commande ne fonctionne pas

    je l'avais d�j� essay�.

  8. #8
    gl
    gl est d�connect�
    R�dacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par d�faut
    Citation Envoy� par Gilles57-H-G Voir le message
    dans un commande ne fonctionne pas
    Peux-tu pr�ciser ce qui se passe exactement ?

  9. #9
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut
    Je r�capitule .

    Voulant utiliser la classe string avec Visual C++ 2010 Express.

    (1) Je crais un projet : Aplication Windows Form.

    (2) Je le nomme toto.

    (3) Je met : dans stdafx.cpp

    (4) Je dessine un bouton sur la form dans Form1.h [desing].


    (5) Je double click sur ce bouton pour afficher la form1.h.


    (6) je met dans la commande du bouton :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
     
    			 {
     
                             string chaine;
    			 }
    (7) Cela m'affiche :

    c:\documents and settings\administrateur\mes documents\visual studio 2010\projects\toto\toto\Form1.h(81): error C2065: 'string'*: identificateur non d�clar�

    Si je met :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
     
    			 {
     
                          std::string chaine;
     
    			 }
    J'ai l'erreur :

    c:\documents and settings\administrateur\mes documents\visual studio 2010\projects\toto\toto\Form1.h(81): error C2039: 'string'*: n'est pas membre de 'std'


    Faut il faire l'include dans stdafx.cpp ?

  10. #10
    gl
    gl est d�connect�
    R�dacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par d�faut
    Il faut inclure <string> dans le fichier o� tu utilise std::string. Est ce bien le cas (en lisant ta description j'ai plut�t l'impression que tu as mis l'include dans stdafx.cpp et que tu l'utilises dans Form1.h).

    Au passage, ce que tu montres n'est pas du C++ mais du C++/CLI

  11. #11
    Membre �m�rite
    Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    D�tails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par d�faut
    Donc en somme, vu que tu fais du C++/CLI, tu utilises System::String de C++/CLI...

    Il existe des moyens de convertir les chaines C++/CLI et les chaines C, C++; mais c'est plus une question d'interop�rabilit�.

    http://dotnet.developpez.com/faq/cpp...age=conversion

    Pour le C++/CLI, je te conseille la faq d�di�e.
    http://dotnet.developpez.com/faq/cppcli/?page=sommaire

    Sache que C++/CLI � rien � voir avec du C++ et que c'est plus � mon sens un langage interm�diaire pour faire remonter du code C/C++ natif dans le monde dot net.

    Bonne continuation

  12. #12
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    D�tails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par d�faut
    Ah mince, j'avais pas vu.
    Citation Envoy� par Gilles57-H-G Voir le message
    (3) Je met : dans stdafx.cpp
    stdafx.cpp ?
    Si tu veux utiliser les ent�tes pr�compil�es alors il faut placer tes includes comme <string> dans stdafx.h

    A la g�n�ration, stdafx.cpp ne contient quasiment rien � part un include de stdafx.h et un �norme avertissement comme quoi il ne faut surtout pas mettre d'autres include dans ce fichier !

    Citation Envoy� par stdafx.cpp
    #include <stdafx.h>
    // TODO: reference any additional headers you need in STDAFX.H
    // and not in this file
    Edit :
    Pour le C++/CLI.
    C'est clair que comme langage d'int�ropabilit� entre C# et C++ c'est un outil pr�cieux. Par contre faire de l'interface graphique en C++/CLI... il faut aimer la souffrance. Autant faire la GUI directement en C#, quitte � ensuite ajouter quelques wrapper C++/CLI pour faire communiquer cette GUI avec le code m�tier �crit en C++ (je suppose)

  13. #13
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88
    Par d�faut Ok R�solu en partie.
    Utilisation de la classe string.

    #include <string>
    dans le Form1.h

    Puis dans le Form1.h :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
     
     {
             using namespace std;
                          string chaine;
                                 chaine = "super pour l'instant ";
     
                                                                                   }
    Ne pose pas de probl�me, quand � son affichage, c'est un peu plus difficile.

    je cherche � l'afficher dans une ListeBox.

    Impossible de faire Ex :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
      listBox1->Items->Add (chaine);

  14. #14
    Membre confirm� Avatar de Gilles57-H-G
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    88
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 88

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

Discussions similaires

  1. [D�butant] Bases de donn�es dans VISUAL BASIC 2010 EXPRESS
    Par DJOUFOU dans le forum VB.NET
    R�ponses: 1
    Dernier message: 09/07/2014, 18h01
  2. Commande Refactoring dans Visual Studio 2010 Express
    Par Moez.B dans le forum Visual Studio
    R�ponses: 0
    Dernier message: 24/07/2013, 03h58
  3. Passer de VB � C# dans Visual Studio 2010 express edition
    Par Claude_Azoulai dans le forum Visual Studio
    R�ponses: 2
    Dernier message: 15/03/2013, 16h29
  4. UML class Diagram dans visual studio 2010
    Par obiflo dans le forum Visual Studio
    R�ponses: 3
    Dernier message: 09/06/2010, 16h08
  5. R�ponses: 3
    Dernier message: 28/11/2006, 03h51

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