Jump to content


Photo

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


  • Please log in to reply
7 replies to this topic

#1 c0lo

c0lo

    Advanced Member

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

Posted 11 July 2011 - 11:26 PM

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
  • 4107 posts
  • LocationMadrid - España

Posted 12 July 2011 - 12:05 AM


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 posts
  • LocationLima-Peru

Posted 12 July 2011 - 12:29 AM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 12 July 2011 - 07:00 AM

¿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
  • 4107 posts
  • LocationMadrid - España

Posted 12 July 2011 - 07:02 AM


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 posts
  • LocationLima-Peru

Posted 12 July 2011 - 09:09 AM

Gracias maestros ambos metodos funcionan a la perfeccion.
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 12 July 2011 - 11:36 AM

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 posts
  • LocationLima-Peru

Posted 12 July 2011 - 01:08 PM

Si porfavor si no e smucha molestia.
  • 0




IP.Board spam blocked by CleanTalk.