Uvek je lepo koristiti ono sto dolazi uz default framework bilo kog radnog okruzenja, ali moj stav je da treba ici na kod koji je u neku ruku portabilniji.
C RTL kod CodeGear/Embarcadero/Borland i MSVC nudi funkcije _splitpath/_wsplitpath koje rade upravo to:
http://msdn.microsoft.com/en-us/library/e737s6tf%28VS.80%29.aspx
Code:
#include <stdlib.h>
#include <iostream>
const char* path = "nekifajl.ext";
char drive[_MAX_DRIVE] = {0};
char dir [_MAX_DIR ] = {0};
char fname[_MAX_FNAME] = {0};
char ext [_MAX_EXT ] = {0};
_splitpath(path, &drive[0], &dir[0], &fname[0], &ext[0]);
std::cout << "ekstenzija je " << ext << std::endl;
Tko leti vrijedi