Comment supprimer la fin d'une chaine de caractere ? [c++ builder] - C++ - Programmation
Marsh Posté le 15-05-2003 à 10:27:28
Heu avec ExtractFilePath il te renvoie bien juste le dossier, en virant le nom du exe, je vois pas le problème
Sinon si tu veux le dossier dans lequel est le dossier du programme tu peux tj faire :
ExtractFilePath(ExcludeTrailingPathDelimiter(ExtractFilePath(Application->ExeName)));
(faudra utiliser ExcludeTrailingBackslash sur les vieilles versions de Builder, je pense que ExcludeTrailingPathDelimiter n'existe que depuis la v6)
Marsh Posté le 15-05-2003 à 11:17:17
ok je te remercie mais , c'est preferable d'utiliser les fonctions en c. Comme strrchr, si quelqu'un a une idée ?
Marsh Posté le 15-05-2003 à 11:38:31
roromaino a écrit : c'est preferable d'utiliser les fonctions en c. |
heu si tu fais du C++ je vois pas pourquoi... à moins que tu veuilles faire du code portable, mais alors pourquoi utiliser des fonctions C plutôt que la STL par exemple ?
Marsh Posté le 15-05-2003 à 11:43:43
oui c vrai, autant utiliser les fonctions c++. Par contre, je travaille avec c++ builder 6 et je ne trouve pas la fonction
ExcludeTrailingPathDelimiter dans l'aide. Ni l'autre ExcludeTrailingBackslash. Enfin si le code que tu m'a donné au dessus fonctionne , je vais l'utiliser.
Marsh Posté le 15-05-2003 à 11:51:22
la ligne de code que j'ai donné marche dans C++Builder 6, c'est là dedans que je l'ai testée
Et dans l'aide j'ai ces fonctions... (ce sont des fonctions de la VCL)
Marsh Posté le 15-05-2003 à 10:08:36
J'ai besoin de connaitre le chemin où se trouve le repertoire de mon application donc sous borland j'utilise la fonction : ExtractFilePath(Application->ExeName).c_str()
Mais le probleme c'est que cette fonction me met a la fin de la chaine l'executable (exemple C:\\bidule\\xxxx.exe)
Or je voudrais garder que le chemin ( c:\\bidule ). Comment faut-il faire car je crois qu'il faut utiliser la fonction strrchr mais je ne vois pas comment faire ?
merci d'avance...