Retomando la programación

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Retomando la programación

Mensaje por largeroliker »

Buenas gente, he decidido retomar la programación pero en esta ocasión haciendo (o intentándolo :lol:) un programa sencillito, pero útil.

La idea es hacer un desempaquetador de DOCUMENT.DAT caseros para recuperar las eventuales imágenes que pueden formarlos.

Por el momento he conseguido abrir exitosamente un archivo remoto y leerlo. El problema que tengo es que tengo que colocar la ruta donde está el archivo, no sé cómo hacerlo para que lo lea de la carpeta donde se encuentra el ejecutable. Intenté copiando el archivo a donde se encuentra el ejecutable en desarrollo pero no lo encuentra :/

Una ayudita? Una vez arregle esto quiero ponerme a intentar abrir los archivos en hexadecimal, que es el siguiente paso :lol:
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: Retomando la programación

Mensaje por pspCaracas »

Poderes de los m0skit0s fantásticos actívense!!!

PD: En qué lenguaje estás trabajando?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: Retomando la programación

Mensaje por largeroliker »

Uy, se me olvidó decirlo...C++ con entorno Eclipse. Es lo que tengo más reciente.
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Retomando la programación

Mensaje por m0skit0 »

Pon tu código, vice, o por lo menos la parte donde abres el fichero.

Si no le pones ruta, debería abrirlo sin problemas si está en la ruta del ejecutable. Ten cuidado también porque es posible que el ejecutable no se genere donde crees que se genera, sobre todo si tienes activada la depuración. Otra opción es pasarle al programa la ruta del fichero como argumento, así no caben dudas.

Aparte, ¿qué te refieres exactamente con "un archivo remoto"? ¿Un fichero en otro equipo?
Imagen

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: Retomando la programación

Mensaje por largeroliker »

No, uno del equipo. Dije remoto porque nunca lo habia hecho antes xD

El archivo lo puse en la carpeta donde esta fisicamente el ejecutable tras compilar, en Debug.

Luego pongo el minicodigo, que he empezado hoy :lol:
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Retomando la programación

Mensaje por m0skit0 »

:lol: vaya remoto :lol:

Ok no hay problema vice, pero no te cortes, todos hemos empezao alguna vez ;)
Imagen

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: Retomando la programación

Mensaje por largeroliker »

Es que no sabía cargar ese tipo de archivos hasta hace un momento, entonces como sólo podía cargar archivos del proyecto y éstos son externos, por eso los llamé remotos :lol:

De momento he dicho que estoy empezando, no he hecho aún ninguna función, sólo el main para testear la apertura del archivito de turno.

Código: Seleccionar todo

/*
 * extractor.cpp
 *
 *  Creado el: 16/03/2011
 *      Autor: largeroliker
 *  Veremos en qué queda esto.
 *  Por el momento vamos a intentar hacer un extractor de imágenes de DOCUMENT.DAT comunes.
 */
#include <iostream>
#include <fstream>
 using namespace std;
 char cadena [12];

int main()
{
   ifstream f("/host/Users/Adrián/Desktop/hola", ifstream::in);
   if (!f)
   {
      cout << "fallo" << endl;
      return -1;
   }
   f >> cadena;
   cout << cadena;
   return 0;
}


Ahora la idea es cargar el texto de un archivo, leerlo y mostrarlo en pantalla. En esa ruta está puesto el archivo "hola" de contenido "holaquetal" y efectivamente carga el texto.

Tengo que cambiar ese cout por otro porque si no no me lee los espacios, eso sí xD

Si quito la ruta y sólo pongo "hola" para cargar, devuelve Error. El archivo "hola" se encuentra junto al ejecutable en la carpeta Debug del proyecto.
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Retomando la programación

Mensaje por m0skit0 »

Lo siento vice, yo no tengo ni idea de usar fstream y esas cosas de C++. No tengo mucha experiencia en C++. Si quieres lo vemos en C a secas.

Igualmente como te digo la mejor opción sigue siendo pasarle la ruta como argumento al programa.

Suerte con ello.
Imagen

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: Retomando la programación

Mensaje por largeroliker »

Bueno, tengo buenas noticias, al menos en parte.

He probado a sacar el ejecutable una vez modificado para que cargue solamente "hola", y he movido ambos archivos a /home/larger. Lo he ejecutado desde la terminal y funciona :D

No entiendo por qué desde la emulación en Eclipse no lo hace :?

Por cierto, otro problema, esta vez linuxero...no puedo ejecutar el programa con doble click? El programa ejecutable no se ejecuta 0o
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

Re: Retomando la programación

Mensaje por Yn$an€ »

largeroliker escribió:Bueno, tengo buenas noticias, al menos en parte.

He probado a sacar el ejecutable una vez modificado para que cargue solamente "hola", y he movido ambos archivos a /home/larger. Lo he ejecutado desde la terminal y funciona :D

No entiendo por qué desde la emulación en Eclipse no lo hace :?

Por cierto, otro problema, esta vez linuxero...no puedo ejecutar el programa con doble click? El programa ejecutable no se ejecuta 0o


Porque en eclipse se ejecuta como si estuviese en el directorio del proyecto. De hecho llamas a una función para conocer el directorio de trabajo desde tu programa, ésta te dará como salida el directorio de proyecto, aunque el ejecutable se genere en Debug.

Lo de linux, cambiale los permisos:
chmod +x "el ejecutable"

Así tendría que funcionar. Otra cosa, a lo mejor si lo ejecutas, pero no paras el flujo el tiempo suficiente para verlo y se ejecuta de golpe. Prueba a meterle algo al final que lo pare. Al hacerlo desde la consola, ésta queda abierta cuando el programa termina, pero si lo haces con doble click, no a no ser que el programa no termine. Me explico?

SLDS
... after all, we're all alike.

Responder