J'avais aussi fais une version un peu plus compacte par la suite (et possiblement mieu optimisé aussi):
char *FileName (char *path)
{
char *c = path, *ret = path;
if(!c || !*c) return 0;
do if(*c++ == '\\') ret = c; while(*c);
return ret;
}
C++ (@++)