begin process at 2010 02 10 03:16:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

conversion path


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conversion path

jeudi 28 août 2003 à 20:38:41 | conversion path

flatmax

Salut a tous
lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\

Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
jeudi 28 août 2003 à 20:42:05 | Re : conversion path

BruNews

Administrateur CodeS-SourceS
changer les \ en \\ ?????
Dans quel but ?
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Salut a tous
> lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
>
> Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
jeudi 28 août 2003 à 20:53:46 | Re : conversion path

flatmax

si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
le but c'est de copier un fichier

ex :
char path[50+1]="c:\mes documents\programme.exe";
int a;
CopyFile("app.exe", path, a);

>> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question

-------------------------------
Réponse au message :
-------------------------------

> changer les \ en \\ ?????
> Dans quel but ?
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut a tous
> > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> >
> > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
>
jeudi 28 août 2003 à 20:57:00 | Re : conversion path

BruNews

Administrateur CodeS-SourceS
char path[50+1]="c:\mes documents\programme.exe";
ici bien sur faut doubler mais pas si se trouve dans une variable.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> le but c'est de copier un fichier
>
> ex :
> char path[50+1]="c:\mes documents\programme.exe";
> int a;
> CopyFile("app.exe", path, a);
>
> >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > changer les \ en \\ ?????
> > Dans quel but ?
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut a tous
> > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > >
> > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> >
>
jeudi 28 août 2003 à 21:13:29 | Re : conversion path

flatmax

je vais te donner mon morceau de code, tu comprendras mieux le probleme :

void CAPPDlg::OnCreate()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CString path;

CFileDialog m_SaveFile(FALSE);

if(m_SaveFile.DoModal() == IDOK)
{
path = m_SaveFile.GetPathName();
}
CopyFile("app.exe", path, a);

>> rien n'est copié
c'est la variable path qui stocke le chemin
ps : ce code est executé lorsque l'on clique sur un bouton


-------------------------------
Réponse au message :
-------------------------------

> char path[50+1]="c:\mes documents\programme.exe";
> ici bien sur faut doubler mais pas si se trouve dans une variable.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> > le but c'est de copier un fichier
> >
> > ex :
> > char path[50+1]="c:\mes documents\programme.exe";
> > int a;
> > CopyFile("app.exe", path, a);
> >
> > >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > changer les \ en \\ ?????
> > > Dans quel but ?
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut a tous
> > > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > > >
> > > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> > >
> >
>
jeudi 28 août 2003 à 21:21:29 | Re : conversion path

BruNews

Administrateur CodeS-SourceS
CopyFile("app.exe", path, a);
probleme est ici. app.exe est quoi et ou ? c'est l'exe qui tourne, vu que pas de chemin absolu, tu es sur que ta currentdirectory est sur le dossier de app.exe ? Faut JAMAIS le presumer et ne serait pas ton selecteur de fichier qui changerait la currentdirectory ?
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> je vais te donner mon morceau de code, tu comprendras mieux le probleme :
>
> void CAPPDlg::OnCreate()
> {
> // TODO: Add your control notification handler code here
> UpdateData(TRUE);
> CString path;
>
> CFileDialog m_SaveFile(FALSE);
>
> if(m_SaveFile.DoModal() == IDOK)
> {
> path = m_SaveFile.GetPathName();
> }
> CopyFile("app.exe", path, a);
>
> >> rien n'est copié
> c'est la variable path qui stocke le chemin
> ps : ce code est executé lorsque l'on clique sur un bouton
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > char path[50+1]="c:\mes documents\programme.exe";
> > ici bien sur faut doubler mais pas si se trouve dans une variable.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> > > le but c'est de copier un fichier
> > >
> > > ex :
> > > char path[50+1]="c:\mes documents\programme.exe";
> > > int a;
> > > CopyFile("app.exe", path, a);
> > >
> > > >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > changer les \ en \\ ?????
> > > > Dans quel but ?
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Salut a tous
> > > > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > > > >
> > > > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> > > >
> > >
> >
>
jeudi 28 août 2003 à 21:26:03 | Re : conversion path

flatmax

le app.exe est ds le meme repertoire que le programme, mais ce n'est pas le programme lancé
comment recuperer le currentdirectory ?pour voir si c'est ca le probleme ?
-------------------------------
Réponse au message :
-------------------------------

> CopyFile("app.exe", path, a);
> probleme est ici. app.exe est quoi et ou ? c'est l'exe qui tourne, vu que pas de chemin absolu, tu es sur que ta currentdirectory est sur le dossier de app.exe ? Faut JAMAIS le presumer et ne serait pas ton selecteur de fichier qui changerait la currentdirectory ?
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > je vais te donner mon morceau de code, tu comprendras mieux le probleme :
> >
> > void CAPPDlg::OnCreate()
> > {
> > // TODO: Add your control notification handler code here
> > UpdateData(TRUE);
> > CString path;
> >
> > CFileDialog m_SaveFile(FALSE);
> >
> > if(m_SaveFile.DoModal() == IDOK)
> > {
> > path = m_SaveFile.GetPathName();
> > }
> > CopyFile("app.exe", path, a);
> >
> > >> rien n'est copié
> > c'est la variable path qui stocke le chemin
> > ps : ce code est executé lorsque l'on clique sur un bouton
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > char path[50+1]="c:\mes documents\programme.exe";
> > > ici bien sur faut doubler mais pas si se trouve dans une variable.
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> > > > le but c'est de copier un fichier
> > > >
> > > > ex :
> > > > char path[50+1]="c:\mes documents\programme.exe";
> > > > int a;
> > > > CopyFile("app.exe", path, a);
> > > >
> > > > >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > changer les \ en \\ ?????
> > > > > Dans quel but ?
> > > > > BruNews, ciao...
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Salut a tous
> > > > > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > > > > >
> > > > > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> > > > >
> > > >
> > >
> >
>
jeudi 28 août 2003 à 21:42:10 | Re : conversion path

BruNews

Administrateur CodeS-SourceS
Le prends pas mal mais tu as bien des questions de MFCiste.

void AppPathInitialize()
{
char szThis[300];
char* c = szThis + GetModuleFileName(NULL, szThis, 300);
while(*c != '\\') c--; *c = 0;
SetCurrentDirectory(szThis);
}

Appelle cela avant ta copie et fonctionnera si app.exe est dans le dossier du prog. Tu devrais mettre le flag NOCHANGEDIR a ton selecteur.
AppPathInitialize();
CopyFile("app.exe", path, 1); // 1 pour overwrite
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> le app.exe est ds le meme repertoire que le programme, mais ce n'est pas le programme lancé
> comment recuperer le currentdirectory ?pour voir si c'est ca le probleme ?
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > CopyFile("app.exe", path, a);
> > probleme est ici. app.exe est quoi et ou ? c'est l'exe qui tourne, vu que pas de chemin absolu, tu es sur que ta currentdirectory est sur le dossier de app.exe ? Faut JAMAIS le presumer et ne serait pas ton selecteur de fichier qui changerait la currentdirectory ?
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > je vais te donner mon morceau de code, tu comprendras mieux le probleme :
> > >
> > > void CAPPDlg::OnCreate()
> > > {
> > > // TODO: Add your control notification handler code here
> > > UpdateData(TRUE);
> > > CString path;
> > >
> > > CFileDialog m_SaveFile(FALSE);
> > >
> > > if(m_SaveFile.DoModal() == IDOK)
> > > {
> > > path = m_SaveFile.GetPathName();
> > > }
> > > CopyFile("app.exe", path, a);
> > >
> > > >> rien n'est copié
> > > c'est la variable path qui stocke le chemin
> > > ps : ce code est executé lorsque l'on clique sur un bouton
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > char path[50+1]="c:\mes documents\programme.exe";
> > > > ici bien sur faut doubler mais pas si se trouve dans une variable.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> > > > > le but c'est de copier un fichier
> > > > >
> > > > > ex :
> > > > > char path[50+1]="c:\mes documents\programme.exe";
> > > > > int a;
> > > > > CopyFile("app.exe", path, a);
> > > > >
> > > > > >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > changer les \ en \\ ?????
> > > > > > Dans quel but ?
> > > > > > BruNews, ciao...
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Salut a tous
> > > > > > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > > > > > >
> > > > > > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> > > > > >
> > > > >
> > > >
> > >
> >
>
vendredi 29 août 2003 à 02:11:36 | Re : conversion path

flatmax

ba oué, je le prends pas mal
je t'ai deja vu dire plein de fois a des personnes sur le forum "ne perd pas ton temps a programé en mode console", et quand on essaye d'apprendre par ses propres moyens on fait comme on peut :)
merci pour tes reponses en tt cas

-------------------------------
Réponse au message :
-------------------------------

> Le prends pas mal mais tu as bien des questions de MFCiste.
>
> void AppPathInitialize()
> {
> char szThis[300];
> char* c = szThis + GetModuleFileName(NULL, szThis, 300);
> while(*c != '\\') c--; *c = 0;
> SetCurrentDirectory(szThis);
> }
>
> Appelle cela avant ta copie et fonctionnera si app.exe est dans le dossier du prog. Tu devrais mettre le flag NOCHANGEDIR a ton selecteur.
> AppPathInitialize();
> CopyFile("app.exe", path, 1); // 1 pour overwrite
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > le app.exe est ds le meme repertoire que le programme, mais ce n'est pas le programme lancé
> > comment recuperer le currentdirectory ?pour voir si c'est ca le probleme ?
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > CopyFile("app.exe", path, a);
> > > probleme est ici. app.exe est quoi et ou ? c'est l'exe qui tourne, vu que pas de chemin absolu, tu es sur que ta currentdirectory est sur le dossier de app.exe ? Faut JAMAIS le presumer et ne serait pas ton selecteur de fichier qui changerait la currentdirectory ?
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > je vais te donner mon morceau de code, tu comprendras mieux le probleme :
> > > >
> > > > void CAPPDlg::OnCreate()
> > > > {
> > > > // TODO: Add your control notification handler code here
> > > > UpdateData(TRUE);
> > > > CString path;
> > > >
> > > > CFileDialog m_SaveFile(FALSE);
> > > >
> > > > if(m_SaveFile.DoModal() == IDOK)
> > > > {
> > > > path = m_SaveFile.GetPathName();
> > > > }
> > > > CopyFile("app.exe", path, a);
> > > >
> > > > >> rien n'est copié
> > > > c'est la variable path qui stocke le chemin
> > > > ps : ce code est executé lorsque l'on clique sur un bouton
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > char path[50+1]="c:\mes documents\programme.exe";
> > > > > ici bien sur faut doubler mais pas si se trouve dans une variable.
> > > > > BruNews, ciao...
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > si on laisse les \, le compilateur ne reconnait pas que c'est un antislash. Pour les path, il faut doubler la barre sin on on peut rien faire
> > > > > > le but c'est de copier un fichier
> > > > > >
> > > > > > ex :
> > > > > > char path[50+1]="c:\mes documents\programme.exe";
> > > > > > int a;
> > > > > > CopyFile("app.exe", path, a);
> > > > > >
> > > > > > >> fonctionne pas car les antislash non doublé, enfin je pense que tu le sais mais je me suis mal expliqué dans ma question
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > changer les \ en \\ ?????
> > > > > > > Dans quel but ?
> > > > > > > BruNews, ciao...
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Salut a tous
> > > > > > > > lorsque l'on recupere un path avec la classe CFileDialog (avec les MFC de Visual C++), on obtient une variable avec par exemple : c:\mes documents\
> > > > > > > >
> > > > > > > > Le probleme est qu'il faut changer les \ en \\ pour utiliser ce chemin absolue. Comment faire ?en simple svp. Existe t-il une fonction pour faire cela ?
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : conversion, path


Répondre à ce message

Sujets en rapport avec ce message

Conversion d un float [ par Seth ] Comment arrondir un float vers le nombre le plus proche.Exemple : (float)2.8 -> 3 ! (float)2.3 -> 2 Conversion de types de données... [ par nullspace ] J'ai jamais réussis à trouver une bonne solution pour convertir un type de variable dans une autre variable ayant un autre type.Par exemple...si j'ai Demande source en C conversion IEEE754 AU SECOUR!!!!!! [ par Benny54 ] Si vous avez quoi que ce soit sur la conversion IEEE754 en langage C envoyez le moi je suis au bord du GOUFFRE!!!!! API qui recupere son propre path [ par NetCommando ] je veux savoir comment une API recupere son prapre pathdu genre c:\app.exe , pour une aplication nomé "app"merci source en c conversion Urgent [ par fleur ] je suis super débutante. Je cherche en C un code pour convertir un décimal en hexadécimal.Je vous remercie d'avance pour votre aide...j'en ai vraiment Conversion de type [ par Dlofret ] Bonjour, J'aimerais une façon simple d'afficher une donnée de type float dans un format string. Comment dois-jem m'y prendre ?? Conversion int -> char * [ par Xentor ] Bonjour tout le monde, et merci de lire mon message parce que je suis un vrai débutant !Je voudrais savoir comment convertir un entier en tableau de c Conversion de donnée [ par Johjo ] Salut tout le monde, je cherche à convertir une valeur char en valeur float et inversement de float en char. L'equivalent de Val et Str en basic.Merci pb de conversion de chaine de caractéres [ par Thanatos ] Bonjour,Je désirerais faire un programme sur les fonctions logiques de base : un utilisateur rentre une fonction logique et le programme lui sort la t Conversion Float to String [ par PierreP ] Bonjour à tous !je suis en train de me prendre la tête pour créer une fonction de conversion d'un réel en une chaine de caractère (problème du débutan


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales