begin process at 2012 05 30 08:25:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Urgent : Probleme avec split d'un string


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

Urgent : Probleme avec split d'un string

mardi 9 août 2005 à 12:41:13 | Urgent : Probleme avec split d'un string

QuakeCoder

salut.
j'ai un char * qui contient "C:\\Documents and Settings\\quick\\Bureau\\Nouveau dossier\\test me.exe"
comment faire pour extraire juste ca => "C:\\Documents and Settings\\hamid\\Bureau\\Nouveau dossier\\"   ????
j'ai essayer avec strtok et strchr et strrchr  mais ca buggg . apres execution je recoi unfameux message erreur windows qui me demande d'nvoyer le rapport d'erreur :)

mardi 9 août 2005 à 12:43:14 | Re : Urgent : Probleme avec split d'un string

mondrone

Membre Club
parcous la chaine à l'envers et met un '\0' juste avant le premier '\\' recontré !


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 9 août 2005 à 12:53:17 | Re : Urgent : Probleme avec split d'un string

QuakeCoder

Oui j l'ai fais .. mais tjr le meme probleme

-------

char *buffer = "C:\\Documents and Settings\\quick\\Bureau\\Nouveau dossier\\test me.exe";
char * tmp;
int p = strlen(buffer)-1;
strcpy(tmp,buffer);
while (p)
      if(chde[p] == '\\')
                 chde[--p] = '\0';

-------
ya une erreur ?

mardi 9 août 2005 à 12:55:06 | Re : Urgent : Probleme avec split d'un string

BruNews

Administrateur CodeS-SourceS
encore une écriture sur pointeur ne pointant nulle part:
strcpy(tmp,buffer);

ciao...
BruNews, MVP VC++
mardi 9 août 2005 à 13:05:24 | Re : Urgent : Probleme avec split d'un string

mondrone

Membre Club
ta boucle ne va jamais s'arréter, je me trompe ? Puisque tu continue tant que p et tu ne décrémente p que quand tu trouve le caractère '\\'

Par contre, je ne pige pas trop ce que c ce chde. Ou bien je suis vraiment pas en forme, ou bien il n'arrive de nul part ?


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 9 août 2005 à 13:11:58 | Re : Urgent : Probleme avec split d'un string

QuakeCoder

j'ai corrigé mais le meme probleme
----------
char *buffer = "C:\\Documents and Settings\\quick\\Bureau\\Nouveau dossier\\test me.exe";
char * tmp;
int p = strlen(buffer)-1;
strcpy(tmp,buffer);
while (p)
{
      if(chde[p] == '\\')
                 chde[p] = '\0',p=1;
p--;
}
----------

et que dois-je faire pour :
-------------
encore une écriture sur pointeur ne pointant nulle part:
strcpy(tmp,buffer);
--------------

MERCI

mardi 9 août 2005 à 13:13:46 | Re : Urgent : Probleme avec split d'un string

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
char buf[260];

tu auras copié un fullpathname de fichier dans buf:

char *c = buf + strlen(buf);
while(c >= buf) {
  if(*c == '\\') break;
  c--;
}
*++c = 0;

si pas de '\\' dans buf alors sortira vide.

ciao...
BruNews, MVP VC++
mardi 9 août 2005 à 13:14:34 | Re : Urgent : Probleme avec split d'un string

steve_clamage

Si ton api n'en fourni pas une (mais ca c'est à verifier) implemente toi meme une fonction 'basename' ou 'pathname' ...

#include <string.h>

char * basename( const char *file, char *base )
{
     char * const p = strrchr(file, '\\');
     size_t pos;
    
     if( ! p )
         return NULL;
    
     pos = (size_t)(p - file) + 1;
     memcpy(base, file, pos);
     base[pos] = '\0';
    
     return base;
}


const char * const file = "C:\\Documents and Settings\\quick\\Bureau\\Nouveau dossier\\test me.exe";
char s[200];

puts( basename(file, s) );


mardi 9 août 2005 à 13:14:57 | Re : Urgent : Probleme avec split d'un string

BruNews

Administrateur CodeS-SourceS
strcpy(tmp,buffer); je venais de te dire que tu écris nimporte où avec tmp non initialisé.

ciao...
BruNews, MVP VC++
mardi 9 août 2005 à 13:17:49 | Re : Urgent : Probleme avec split d'un string

steve_clamage

C'est magique les "char *", ca alloue tous seul et ca libere quand il faut

1 2

Cette discussion est classée dans : string, urgent, probleme, documents, split


Répondre à ce message

Sujets en rapport avec ce message

probleme urgent avec borland c++ [ par morgandetoi06 ] ça veut pas me compiler ça:#include typedef struct{string telephone;string nom;string prenom;string surnom;}fi;ça me dit :Nom de ype attendu; manquant probleme de boucle... Urgent ! [ par AshenShugar ] Salut tout le monde,voila, j'ai un morceau de code qui est celui-ci :while ((Ligne 20)) { Ligne = 0; printf("\nSaisissez le nombre de lignes URGENT : ITEMIDLIST et autres [ par Shouwi ] Bonjours, j'ai un probleme qui m'enerve à un haut point, j'expose le probleme : je me sert d'unGetOpenFileName(LPOPENFILENAME)afin de selectionner plu Probleme urgent !! [ par julnad ] Mon problème est que j'ai réalisé un programme en C et qu'il faut le traduire en C++. L'important est qu'il faut le faire rapidement et le C++ c'est p probleme de verification d'une ip ! URGENT !!!!!!! [ par ben01n ] Salut à tousje suis débutant en c et je suis en train de programmer un serveur sous linuxvoila mon problème : mon prog prend une adresse ip comme argu Probleme String -> double et long [ par lebalrog ] Salut tout le monde!J'ai un prob urgent a resoudre (tres urgent meme)!je fais :ficin >> ligne;long r=atol(ligne);double a=atof(ligne);avec ligne="0,12 probleme avec pointeurs (urgent) [ par legrosnul ] legrosnul:)Salut a tous! voici le mini programme suivant en c.(Fonction):void bidon (int *a, int *b, int *c) {*c=*a;*c=*c+b;}main() {int x,y,z;x=10;y= probleme parametre [ par morgandetoi06 ] bonjour,j ai fait une fontion qui s appelle "afficher" qui est dans un fichier "afficher.cpp" et dans le programme qui appelle la fonction j ai donc m Remplir un string, probleme [ par ChamY ] Bonjour, Je suis en 1ere année de BTS info. J'ai un projet a realiser pendant ces vancances : une bibliotheque. J ai un ptit probleme lors de l uti [FUNCTION] : Problème de déclaration [ par Alex120 ] Bonjour, J'ai écrit une fonction split() dans un fichier cpp : #include #include "vector.h" /** * FUNCTION SPLIT() */ vo


Nos sponsors


Sondage...

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 : 6,817 sec (4)

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