fredsor
Messages postés198Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention 3 avril 2008
-
19 oct. 2007 à 12:06
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 2011
-
22 oct. 2007 à 10:25
Salut a vous!!
Je vous sollicite car j'ai un probleme : je dev en C sous Embedded Visual C++ (windows CE)
J'ai un exe Projet_Falcon.exe, qui s'appuie sur des données presentes dans un Projet_Falcon.ini
mon souci, c'est que je veux qu'il lise bien le ini, et ce sans donner un chemin en dur.
Donc j'ai utilisé GetModuleFileName ainsi :
TCHAR chemin[100];
GetModuleFileName(0,chemin,MAX_PATH);
Cela me renvoit : \Storage Card\Projet_Falcon.exe
Le souci c'est que ensuite, je veux lire le fichier present donc à l'emplacement \Storage Card\Projet_Falcon.ini
Or, le probleme c'est qu'il n'y arrive pas, puisque les "" doivent être doublés!
Et j'en arrive a mon probleme : pour remplacer tout les "" par des "\", le compilateur me balance : error C2001: newline in constant
(exemple : if(chemin[i]!=="") =>error C2001: newline in constant
Si quelqu'un a une idée, ou croit que j'ecris des enormités, faites moi signe SVP, je vois pas trop là comment contourner le probleme
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 19 oct. 2007 à 18:23
Quesque c'est que ce code ?
Tu convertis en unicode, tu reconvertis en ansi tu rereconvertis etc.etc.etc.
Ensuite tu parcours pas 1, pas 2 mais bien 3 fois la chaine EN ENTIER (ou presque pour le strtok) !!!
Quelle perte de temps.
Le code que je t'ai fourni fonctionne très bien et est 100x plus rapide:
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 oct. 2007 à 21:42
if(pPath >= lpPath)
à quoi ça sert ??? Windows ne lance que du .EXE que je sache.
On n'adresse pas DWORD quand on ne sait pas l'alignement destination, le système rattrape l'exception dans sa config par défaut mais c'est pas une raison pour abuser vu que ça tue les perfs.
MOV 3 WORD (TCHAR) sur les places de 'EXE' et tout ira pour le mieux, eux sont assurément alignés correctement par le compilo (WCHAR lpPath[300]) .