Ir al contenido


Foto

[RESUELTO] Como hacer un ExtractFileName en C/C++?


  • Por favor identifícate para responder
7 respuestas en este tema

#1 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 11 julio 2011 - 11:26

Estaba pensando en hacer una funcion similar a la api en delphi que a partir de mi directorio o mi string donde esta mi directorio completo como "C:\Documents and Settings\c0lo\Escritorio\Prueba\Release\App.exe", extraer el nombre de la aplicacion "App.exe" y dejar mi string solamente como : "C:\Documents and Settings\c0lo\Escritorio\Prueba\Release\"


cpp
  1.         wchar_t LibFileName[512];
  2.         GetModuleFileNameW( hMe, LibFileName, 512 );

Con este ejemplo yo puedo obtener la direccion completa de mi aplicacion pero ahoa como le extraigo el nombre de la aplicacion?
  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 12 julio 2011 - 12:05


cpp
  1.     wchar_t FullFileName[MAX_PATH];
  2.     GetModuleFileNameW(0, FullFileName, MAX_PATH);
  3.     wchar_t *FileName = wcsrchr(FullFileName, L'\\') + 1;

 
 
Saludos.
  • 0

#3 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 12 julio 2011 - 12:29

Gracias escafandra, pero lo que no me deje explicar es que yo deseaba obtener la ruta sin el archivo o el nombre de la aplicacion.


cpp
  1. DirCur = "D:\Programas\JDownloader\downloads\The hard times of RJ Berger\File.avi";
  2.  
  3. ExtractfileName(DirCur , Dir);
  4.  
  5. Dir = "D:\Programas\JDownloader\downloads\The hard times of RJ Berger\"

Algo asi nose si me deje explicar bien...?
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 julio 2011 - 07:00

¿Algo así?:


cpp
  1. inline string GetPathFromFilename( const string& filename )
  2.   {
  3.   return filename.substr( 0, filename.rfind("\\")+1 );
  4.   }

Saludos.
  • 0

#5 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 12 julio 2011 - 07:02


cpp
  1.     wchar_t Path[MAX_PATH];
  2.     GetModuleFileNameW(0, Path, MAX_PATH);
  3.     *(wcsrchr(Path, L'\\'))  = 0;


Saludos.
  • 0

#6 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 12 julio 2011 - 09:09

Gracias maestros ambos metodos funcionan a la perfeccion.
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 julio 2011 - 11:36

Gracias maestros ambos metodos funcionan a la perfeccion.


Ah que bien mi estimado, ¿podemos colocar el tema como [RESUELTO] ?
  • 0

#8 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 12 julio 2011 - 01:08

Si porfavor si no e smucha molestia.
  • 0




IP.Board spam blocked by CleanTalk.