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

MFC Discussion :

Copier un Cstring dans un char* est ce possible?


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut Copier un Cstring dans un char* est ce possible?
    Voila j'ai une variable de type Cstring que je souhaiterai copier dans un char *, est ce possible?

    Sinon quel moyen ais je pour contourner ce probleme?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    J'ai pas trop compris comment cela fonctionner
    Voila mon bout de programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString strOpenCap;
    char **argv;
    j'aimerai mettre strOpenCap dans *argv.

    Il faut que j'utilise strtol?

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Par défaut
    argv ... comme les paramètres de ta fonction main ? Pourquoi voudrais-tu mettre quelque chose dedans ?

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    En fait, tu dois allouer un espace mémoire égal à la longueur de la chaîne +1, puis tu appelles la méthode qui permet de retourner un const char* et tu fais un strncpy.

    Mais pourquoi dois-tu faire cela ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    en fait j'ai une fonction qui me permet d'ouvrir un fichier; qui a en parametre argv, qui est le chemin pour acceder au fichier.

    La je ss en train de réaliser une IHM. J'ai créer un Browser qui me renvoi dans un Cstring le chemin du repertoire ou mon fichier se trouve.

    Et je souhaite donc avant d'appeller ma fonction placer

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    oups...

    Et je souhaite donc avant d'appeller ma fonction placer la variable Cstring dans mon *argv.

    Je vais essayer ce que vous m'avez dit.
    J'ai touvé un truc dans MSDN:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     // Convert to a char*
        const size_t newsize = 100;
        char nstring[newsize];
        strcpy_s(nstring, orig);
        strcat_s(nstring, " (char *)");
        cout << nstring << endl;
    Par contre je sais pas pourkoi, qd j essai de l'appliquer il me dit que ne sont pas défini.

    J'ai pourtant bien inclus le string.h.

    Je vais chercher encore

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    En fait je ss en train de passer un programme en C en une IHM en C++.
    J'utilise les MFC.

    Déja en C j'avais mon main qui démarer comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int main(int argc, char **argv)
    {....
    capt_off(argc,argv);
    ...
    }
    Dans mon IHM MFC j'aimerai appellé mes fonctions depuis un bouton OK que j'ai créer.

    Ais-je le droit de faire ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void CSnifferDlg::OnOK(int argc, char **argv) 
    {

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    voir ce post de la faq:
    http://c.developpez.com/faq/vc/?page...GetCommandLine
    dans le prog MFC tu auras la ligne de commande ...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    Je ne comprends pas tres bien la Faq.

    Dois-je rajouter beaucoup de chose?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    Pourquoi ceci ne fonctionne pas:

    dans le .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    virtual void OnOK(int argc, char **argv);
    dans le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void CSnifferDlg::OnOK(int argc, char **argv)
    Cela compile sans erreur mais plante lors de l'appui sur le bouton OK

    alors que ceci fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    virtual void OnRangeUpdateRadio(UINT nID);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void CSnifferDlg::OnRangeUpdateRadio(UINT nID)

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Par défaut
    Pour cloturer (pour ma part) cette discussion

    la conversion Cstring-> char* j'ai suivi les conseils d'isidore:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString strOpenCap; 
    char *adresse=(char*)LPCTSTR(strOpenCap);

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

Discussions similaires

  1. Copier un BYTE* dans un CHAR*
    Par niglo dans le forum C
    Réponses: 5
    Dernier message: 21/07/2011, 15h36
  2. Ajouter un JComponent dans un JPanel est ce possible?
    Par jlassiramzy dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/04/2007, 21h02
  3. recevoir des donnees php dans un swf est ce possible ?
    Par carmen256 dans le forum Flash
    Réponses: 2
    Dernier message: 09/02/2007, 14h57
  4. [C# 2.0]Une Image dans un toolTip ? Est ce possible
    Par vinsou___ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/06/2006, 00h28
  5. [VB5]Sélectionner du texte dans un label, est-ce possible?
    Par Silivrion dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 14/04/2006, 00h19

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