begin process at 2012 05 29 02:09:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

[C++ natif] Supprimer la fin d'une chaine de caractere


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

[C++ natif] Supprimer la fin d'une chaine de caractere

jeudi 28 décembre 2006 à 22:35:38 | [C++ natif] Supprimer la fin d'une chaine de caractere

VTwin

Salut à vous,

J'utilise le code suivant (C++ natif sous VS2005) pour recuperer un chemin :


TCHAR X_AppPath[256];
GetCurrentDirectory(256, X_AppPath);

X_AppPath me donne par exemple : "E:\Programmes\AppCheck"

J'ai besoin de recuperer le repertoire racine, c'est à dire "E:\Programmes"

J'ai pensé à tronquer X_AppPath en supprimant le "\AppCheck", mais je ne sais pas comment faire !

Merci pour votre aide
jeudi 28 décembre 2006 à 23:06:47 | Re : [C++ natif] Supprimer la fin d'une chaine de caractere

BruNews

Administrateur CodeS-SourceS
TCHAR pszdst[MAX_PATH];
TCHAR *c = pszdst + GetModuleFileName(NULL, pszdst, MAX_PATH);
while(*c != '\\') c--;
*c = 0;

ciao...
BruNews, MVP VC++
jeudi 28 décembre 2006 à 23:24:45 | Re : [C++ natif] Supprimer la fin d'une chaine de caractere

VTwin

Merci BruNews,

Pour mon prog, ca marche avec GetCurrentDirectory plutot que GetModuleFileName.

TCHAR X_GlobalPath[MAX_PATH];
TCHAR *c = X_GlobalPath + GetCurrentDirectory(sizeof(X_GlobalPath), X_GlobalPath);
while(*c != '\\') c--;
*c = 0;
MessageBox(NULL, X_GlobalPath, TEXT("Information"), 0);

Par contre tu peux m'expliquer comment ca fonctionne? Je crois comprendre que tu supprimes les caracteres par la fin jusqu'au premier '\', mais j'ai du mal a interpreter tout ca (sans doute à cause de l'*c  )

Merci!
jeudi 28 décembre 2006 à 23:37:43 | Re : [C++ natif] Supprimer la fin d'une chaine de caractere

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Faire gaffe que la currDir n'a rien à voir avec l'emplacement physique du exe, pourrait très bien être positionnée ailleurs dès le lancement par la ligne de commande du raccourci (exemple parmi tant d'autres).

Les 2 APIs retournent nbr de carac insérés donc:
baseAddresse + len => pointeur sur 0 final
et on n'a plus qu'à remonter le pointeur  jusqu'à trouver le 1er '\' qui délimite le dossier, on y met un 0 terminateur de chaine et le tour est joué.

ciao...
BruNews, MVP VC++
jeudi 28 décembre 2006 à 23:50:11 | Re : [C++ natif] Supprimer la fin d'une chaine de caractere

VTwin

Super, merci à toi !

Je vais eviter le Current Dir alors

@+


Cette discussion est classée dans : fin, chaine, supprimer, natif, apppath


Répondre à ce message

Sujets en rapport avec ce message

Suppression d'une sous chaine... Help me !!! [ par typhoonx ] Bonjour,je voudrai savoir si quelqu'un connaitrai une solution pour supprimer une sous chaine d'une chaine... y à t'il une fonction qui le fait ? (en Urgent:supprimer une chaine d'un fichier [ par rene77 ] Bonjour à tous, J'ai besoin de supprimer des chaines de caractères d'un fichier txt.Je travaille sous Builder et j'y arrive pas !!!OUINNNN OUINNNS'il chaine caractere [ par aurelien070 ] j'aimerai savoir commen supprimer une chaine de caractere qui est dans un fichier .txt comme ceci   WOUT1,1,1,    0,  512,  0,179,255!! et en fait je Supprimer un mot d'une chaine [ par daivil ] Bonjour à tous les amis codeurs ^^Aujourd'hui j'ai un petit problèmeJ'aimerais créer une fontion récursive qui enlève un mot d'une chaine selon le pro Supprimer les espaces dans une chaine [ par ticalimero ] Je sais, ca parait tout simple...mais je vais mettre unteps fou à le faire alors si vous pouviez m'aider svp !Je veux supprimer tous les espaces d'une supprimer un bout de fichier ... [ par Tidam ] Voila une question que je me suis pose tout a l'heure ... je sais bien comment lire un fichier, modifier un fichier ... mais la ou j'ai un petit probl lecture chaine jusqu'a "fin" [ par sakjimh ] salut je veux inserer des chaines de caractére dans un tableau de pointeur:void lire(char *ch[L]){  int i;  for(i=0;ch[i-1]!="FIN";i++)    scanf("%s", Effacer la fin d'une chaine de caracter [ par Amxx ] Bonjour,voila je serai bref ;je cherche a savoir si il existe une fonction qui me permetrai d'effecer la fin d'une chaine de caractere (en l'occurence expressions regulieres [ par vero77lisa ] Bonjour, Je n'arrive pas a ecrire l'expression reguliere qui me permettrait de supprimer une sous-chaine d'une chaine. MaChaine = "20051229181521658 SUPPRIMER LES CARACTERES D'UNE CHAINE [ par Batman60 ] bonjourcomment procéder pour supprimer quelques derniers caractères d'une chainemercichar ChaineCaractères[MAX_PATH];


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 4,290 sec (3)

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