sscanf

sscanf - C - Programmation

Marsh Posté le 17-04-2008 à 15:42:14    

bonjour, j'ai une chaine de caractères qui contient l'emplacement complet d'un fichier.
par ex : \\serveur\monrep1\monrep2\monrep3\monfichier.ext
je souhaites récupérer le nom du répertoire sans le fichier : \\serveur\monrep1\monrep2\monrep3\
est-ce possible avec sscanf ?
d'une maniere plus générale, où trouver une doc complete sur l'utilisation des expressions régulières en C
sscanf est-elle la seule instruction en C permettant de les mettre en œuvre ?
si je demande ça c'est que la plupart des docs sur lesquelles je suis tombé ne traitent mêmes pas du token "^"(négation) par ex

Reply

Marsh Posté le 17-04-2008 à 15:42:14   

Reply

Marsh Posté le 17-04-2008 à 17:38:16    

sscanf fait de regexp faut se calmer ^^
 
Mates ça : http://www.gnu.org/software/libtoo [...] sions.html

Reply

Marsh Posté le 18-04-2008 à 00:10:12    

Tu peux pas faire ça simplement avec un cut ?
 
En lui disant de ne sélectionner que ce qu'il y a avant le dernier caractère "\" ...

Reply

Marsh Posté le 18-04-2008 à 08:49:14    

basename et dirname, toussa ?

Reply

Marsh Posté le 18-04-2008 à 09:47:07    

merci merci, plein de mots clés, je vais googler tout ca

Reply

Marsh Posté le 21-04-2008 à 13:39:42    

merci j'ai fais un mix de toutes vos réponses avant de recoder à la main (exit les regex donc :/ )
 
int fs_split_name(const char * fullpath, char * dirname, char * basename)
{
 int i=0;
 
 for (i=strlen(fullpath);i>0;i--)
 {
  if (fullpath[i]=='\\')
  {
   memcpy(dirname,fullpath,i);
   dirname[i]=0;
   strcpy(basename,&fullpath[i+1]);
   return TRUE;
  }
 }
 return FALSE;
}

Reply

Marsh Posté le 21-04-2008 à 18:40:21    

Regarde du côté de strrchr ce sera plus simple.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed