Scan arrière, pour trouver l'extension finale comme dans "la.notation.hongroise.doit.mourir"
Code :
- char *GetExtensionFile(char *FileName) {
- if (FileName)
- for (int i=std::strlen(FileName)-1; i>=0; --i)
- if (FileName[i] == '.')
- return &FileName[i];
- return 0;
- }
|
Evidement strlen part dans les choux si l'argument n'est pas une chaine bien formée.
edit: Crotte. Marche pas avec '..'
Il est fortement conseillé de ne pas se lancer dans les manips de chaines, sauf à fins didactiques, avec la bibiothèque C standard. C'est vraiment casse gueule.
Message édité par tbp le 21-11-2006 à 17:55:43