1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #include <string.h>
#include <stdlib.h>
/*Version pour les chemins Windows*/
int separe_path_win( char * pStr, char ** ppFichier )
{
char * pBackslash;
if(pStr==NULL || ppFichier==NULL)
return -1;
pBackslash = strrchr(pStr, '\\');
if(pBackslash==NULL)
return -1;
/*Coupe la chaîne*/
*pBackslash = '\0';
*ppFichier = pBackslash + 1;
return 0;
}
/*Version pour les chemins POSIX*/
int separe_path_posix( char * pStr, char ** ppFichier )
{
char * pSlash;
if(pStr==NULL || ppFichier==NULL)
return -1;
pSlash = strrchr(pStr, '/');
if(pSlash==NULL)
return -1;
/*Coupe la chaîne*/
*pSlash = '\0';
*ppFichier = pSlash + 1;
return 0;
}
int main(void)
{
char[] chemin = "/usr/local/games/enemy-territory/et.x86";
char * fichier = NULL;
if(separe_path_posix(chemin, &fichier) < 0)
{
puts("erreur");
return EXIT_FAILURE;
}
printf("Chemin : \"%s\".\n", chemin);
printf("Fichier : \"%s\".\n", fichier);
return 0;
} |
Partager