Código de C/Visual C - Texto en memoria.

Imágen de perfil

Texto en memoria.gráfica de visualizaciones


C/Visual C

Publicado el 22 de Junio del 2022 por Hilario (122 códigos)
411 visualizaciones desde el 22 de Junio del 2022
/*
----Lenguaje C-----
Texto en memoria.
********************
volcado_text_memo.c
**********************
Hilario Iglesias Martínez.
*******************************
En este ejemplo, se introduce un texto
sin espacios por teclado, para poder
identificarlo mejor en memoria,
de hasta 8 caracteres.
Ejemplo: MENSAJE
El programa realiza un volcado de memoria.
En este volcado se puede ver el texto en
exadecimal, y su ubicación en cada dirección
de memoria en formato TEXTO.
En el se puede estudiar muy bien el funcionamiento
de punteros y direcciones de memoria.

MENSAJE debería volcar en exadecimal:
4d,45,4e,53,41,4a,45

*********************************************
Realizado en plataforma LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Usado el IDE Sublime Text.
Compilación: gcc volcado_text_memo.c -o volcado_text_memo
EJECUCIÓN:$ ./volcado_text_memo
******************************************************
Durante la compilación pueden surgir algunos
errores tipo "warning", de asignación,
por incompativilidad de tipos, que no
influyen a la compilación del mismo.
*******************************************
Establecemos por defecto DimensionVolcado=180,
Y un direccionamiento de hasta 8 caracteres*****
for(i=0; i < 8; i++)
{ //Direccioamos hasta un mensaje de 8 caracteres
Se puede modificar parámetros y jugar con el mismo

**********************************************************
RESULTADO.
-------------------------------------
MENSAJE Cadena visible en el volcado pasando texto a exadecimal
------------------------------------------------------------
BYTES DE LA ESTRUCTURA LOCALIZADOS EN: 0x6f73bdc0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4d 45 4e 53 41 4a 45 00 c4 ff 00 00 00 00 00 00
c2 00 00 00 00 00 00 00 07 be 73 6f fe 7f 00 00
06 be 73 6f fe 7f 00 00 7d a3 4f 35 6b 55 00 00
e8 12 fb 5f e6 7f 00 00 30 a3 4f 35 6b 55 00 00
00 00 00 00 00 00 00 00 c0 a0 4f 35 6b 55 00 00
10 bf 73 6f fe 7f 00 00 00 d2 6c 7a cf 3b d0 66
00 00 00 00 00 00 00 00 83 40 de 5f e6 7f 00 00
20 36 00 60 e6 7f 00 00 18 bf 73 6f fe 7f 00 00
00 00 00 00 01 00 00 00 a9 a1 4f 35 6b 55 00 00
30 a3 4f 35 6b 55 00 00 a6 da ad c9 96 6b b7 d2
c0 a0 4f 35 6b 55 00 00 10 bf 73 6f fe 7f 00 00
*********************************************************
|En esta dirección | @ 0x6f73bdc0 |contenido TEXTO es:| M
||En esta dirección | @ 0x6f73bdc1 |contenido TEXTO es:| E
||En esta dirección | @ 0x6f73bdc2 |contenido TEXTO es:| N
||En esta dirección | @ 0x6f73bdc3 |contenido TEXTO es:| S
||En esta dirección | @ 0x6f73bdc4 |contenido TEXTO es:| A
||En esta dirección | @ 0x6f73bdc5 |contenido TEXTO es:| J
||En esta dirección | @ 0x6f73bdc6 |contenido TEXTO es:| E

*/

Requerimientos

Realizado en plataforma LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Usado el IDE Sublime Text.
Compilación: gcc volcado_text_memo.c -o volcado_text_memo
EJECUCIÓN:$ ./volcado_text_memo

1.0

Publicado el 22 de Junio del 2022gráfica de visualizaciones de la versión: 1.0
412 visualizaciones desde el 22 de Junio del 2022
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <time.h>
//Codigos de colores para consola.
#define RED   "\x1B[31m"
#define GRN   "\x1B[32m"
#define YEL   "\x1B[33m"
#define BLU   "\x1B[34m"
#define MAG   "\x1B[35m"
#define CYN   "\x1B[36m"
#define WHT   "\x1B[37m"
#define RESET "\x1B[0m"
#define TAM_MAXIMO 80
int main(int argc, char const *argv[])
{
 char cadena[TAM_MAXIMO];
 //int*tiempo_puntero;
 unsigned char *apuntador_ptr;
 //apuntador_ptr=memo;
 int i;
 int DimensionVolcado=176; //Definimos el tamaño de la salida
 char *Tipo_char_puntero;
 printf("Introduce una cadena:\n");
 
 scanf("%s",cadena);
 printf("-------------------------------------\n");
 printf(GRN"%s Cadena visible en el volcado pasando texto a exadecimal\n"RESET,cadena  );
 printf("------------------------------------------------------------\n" );
 printf(BLU "BYTES DE LA ESTRUCTURA LOCALIZADOS EN: 0x%08x\n "RESET, &cadena);
 printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
 
 apuntador_ptr = ( unsigned char *) cadena;
 for(i=0; i < DimensionVolcado; i++)
 {
 
 printf(MAG "%02x "RESET, apuntador_ptr[i]);
 
 if(i%16 == 15) /*Hemos establecido 16 bytes
                 del 0 al 15, para imprimir líneas.*/
 printf("     \n ");
 
 }
 
 Tipo_char_puntero=&cadena;
 apuntador_ptr = (int *) Tipo_char_puntero;
 printf("*********************************************************   \n ");
 for(i=0; i < 7; i++) {
 printf(CYN "|En esta dirección | @ 0x%08x |contenido TEXTO es:| %c\n |"RESET, Tipo_char_puntero, *Tipo_char_puntero);
Tipo_char_puntero++;
/*Agregamos en avance 4 a la dirección
 ya que un int tiene un tamaño de 4 bytes.*/
 
}
}



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7248