Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme curieux avec File:Open

5 réponses
Avatar
Alex
Bonjour,

Voila un morceau de mon code : (file est un CString qui contient le nom du
fichier a ouvrir)

CFile Fichier;

CFileException e;

char* titi;

if (Fichier.Open(file,CFile::modeRead,&e)!=0)

{ ....



Le probleme est le suivant :

- Si file contient le nom du fichier a ouvrir dans mon code, par exemple
"c:\\toto.txt", le fichier s'ouvre correctement...

- Si je récupère le nom du fichier via l'argument sous CWinApp->m_lpCmdLine
(en faisant click->droit ouvrir avec... sur c:\toto.txt), le fichier ne
s'ouvre pas alors que c'est exactement la meme chose que si je rentre le nom
du fichier dans file directement....

L'exeption générée par CFileExeption est de valeur 3. Quelqu'un connait-il
ce que cela signifie ?



Si vous avez deja rencontré ce probleme et avez une idée... merci de votre
aide !

5 réponses

Avatar
Arnold McDonald \(AMcD\)
Il te manque sans doute un '' dans le second cas. Je parie pour un badpath,
ou chemin invalide.

--
Arnold McDonald (AMcD) - Help #47/2006

http://arnold.mcdonald.free.fr/
Avatar
Alex
"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44c01bcc$0$1000$
Il te manque sans doute un '' dans le second cas. Je parie pour un
badpath, ou chemin invalide.

--
Arnold McDonald (AMcD) - Help #47/2006

http://arnold.mcdonald.free.fr/




Je ne pense pas, car j'ai essayé deux cas :
- Laisser le path tel quel ce qui donne c:toto.txt
- Ajouter un '' ce qui donne c:toto.txt

Dans les deux cas ca ne marche pas...
Avatar
Arnold McDonald \(AMcD\)
Si on avait un code un peu plus complet aussi...

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/
Avatar
Alex
"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44c259a8$0$11740$
Si on avait un code un peu plus complet aussi...

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Je ne trouve pas où se trouvent la signification des numéros d'erreurs
retournés par CFileExeption sur msdn... Aurais-tu une idée ?

Voila merci en tt cas, j'arrete de vous embeter je vais essayer de me
débrouiller autrement.
Avatar
Alex
Mon bout de code :

La prise en copte de l'argument qui contient le path :

CWinApp* pApp = AfxGetApp();

CString arg = ((CApplicationApp*)pApp)->m_lpCmdLine;

CStrting file = arg;

CFile Fichier;

CFileException e;

if (Fichier.Open(file,CFile::modeRead,&e)!=0)

{

.............

}

else

{

CString error;

error.Format("Code:%d" ,e.m_cause );

AfxMessageBox ( error, MB_OK | MB_ICONSTOP );

}



Si je passe par l'argument : click droit sur le fichier -> ouvrir avec ->...
ca plante (erreur code n°3)



Si je fais CString file = "c:toto.txt" ca marche

J'ai bien sur vérifié que file contient bien "c:toto.txt" en faisant un
messagebox avant l'ouverture du fichier...et j'ai essayé en ajoutant des ""
en plus également