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?
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?
C'est sur la FAQ :
http://c.developpez.com/faq/vc/?page=Conversions
J'ai pas trop compris comment cela fonctionner
Voila mon bout de programme:
j'aimerai mettre strOpenCap dans *argv.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3CString strOpenCap; char **argv;
Il faut que j'utilise strtol?
argv ... comme les paramètres de ta fonction main ? Pourquoi voudrais-tu mettre quelque chose dedans ?
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 ?
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
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:
Par contre je sais pas pourkoi, qd j essai de l'appliquer il me dit que
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;ne sont pas défini.
Code : Sélectionner tout - Visualiser dans une fenêtre à part strcpy_s et strcat_s
J'ai pourtant bien inclus le string.h.
Je vais chercher encore
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:
Dans mon IHM MFC j'aimerai appellé mes fonctions depuis un bouton OK que j'ai créer.
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); ... }
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) {
voir ce post de la faq:
http://c.developpez.com/faq/vc/?page...GetCommandLine
dans le prog MFC tu auras la ligne de commande ...
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Je ne comprends pas tres bien la Faq.
Dois-je rajouter beaucoup de chose?
Pourquoi ceci ne fonctionne pas:
dans le .h
dans le .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 virtual void OnOK(int argc, char **argv);
Cela compile sans erreur mais plante lors de l'appui sur le bouton OK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void CSnifferDlg::OnOK(int argc, char **argv)
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)
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);
Partager