Admin Admin
Nombre de messages : 138 Age : 38 Date d'inscription : 02/09/2006
| Sujet: Retrouver une sous extension avec C Mer 13 Sep - 4:50 | |
| - Code:
-
// MET DANS dst CE QUI EST ENTRE LES 2 POINTS APRES "\" FINAL // SI PAS DE "\" AVANT LES POINTS, PAS BON // RETOURNE NBR CARACTERES MIS DANS dst // GetSubExtension("D:\File.txt.tmp", dst); dst contiendra "txt" DWORD __stdcall GetSubExtension(char *src, char *dst) { char *d = dst, *p = 0; // d SERA POINTEUR DU DERNIER "\" while(*src) { if(*src == '\\') p = src; src++; } // FINIT SUR TERMINATEUR NULL DE CHAINE if(!p) goto subEXIT; do { if(*--src == '.') goto okUN; } while(src > p); goto subEXIT; okUN: do { if(*--src == '.') goto okDEUX; } while(src > p); goto subEXIT; okDEUX: do { // DEBUTE SUR 1er POINT if(*++src == '.') break; *d++ = *src; } while(1); subEXIT: *d = 0; return (d - dst); }
void TestSubExt() { DWORD n; char szdst[12], tot[12]; n = GetSubExtension("d:\\tr.u.c\\readme.txt.m", szdst); if(n) { ultoa(n, tot, 10); MessageBox(0, szdst, tot, 0); } }
| |
|