Código de C/Visual C - Alojamiento de texto.

Imágen de perfil

Alojamiento de texto.gráfica de visualizaciones


C/Visual C

Publicado el 26 de Junio del 2022 por Hilario (122 códigos)
478 visualizaciones desde el 26 de Junio del 2022
Ampliando un programa anterior,-
como complemento formativo-, volevemos
a introducir por teclado una frase
de hasta 150 caracteres, esta vez admitiendo
espacios.
Dividimos el programa en una librería pildora.h
y pildora.c, que deberán estar bajo el mismo
directorio, o direccionado al mismo directorio
que pildora.c.

Requerimientos

Realizado en plataforma LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Usado el IDE Sublime Text.
Consola de Linux.

1.0

Publicado el 26 de Junio del 2022gráfica de visualizaciones de la versión: 1.0
479 visualizaciones desde el 26 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*   ----LENGUAJE C----
   ****************************
      Alojamiento de texto.
    *********************
        pildora.c
******************************************
      HILARIO IGLESIAS MARTÍNEZ
      +++++++++++++++++++++++++++
         Programa educativo
      -----------------------
Realizado en plataforma LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Usado el IDE Sublime Text.
Consola de Linux.
Compilación:  gcc  pildora.c  -o  pildora
EJECUCIÓN.
*********
$ ./pildora
**********
Ampliando un programa anterior,-
como complemento formativo-, volevemos
a introducir por teclado una frase
de hasta 150 caracteres, esta vez admitiendo
espacios.
Dividimos el programa en una librería pildora.h
y pildora.c, que deberán estar bajo el mismo
directorio, o direccionado al mismo directorio
que pildora.c.
***********************************************
*/
 
#include <stdio.h>
#include <string.h> // Utilizado para la función strlen
#include "pildora.h"
#define CADENA 150
 /*
Admitimos una cadena de hasta
150 caracteres
*/
 
int main(int argc, char const *argv[])
{
    int i;
     unsigned char *Tipo_CHAR_puntero;
    char frase[CADENA];
    printf("TEXTO A INGRESAR: ");
     fgets(frase, CADENA, stdin);
    // Quitamos el salto de línea
    if ((strlen(frase) > 0) && (frase[strlen(frase) - 1] == '\n'))
    {
        frase[strlen(frase) - 1] = '\0'; //final
    }
    dump(frase, 280); /*Llamamos a la función dump para el volcado.
    En este caso le pasamos una cadena y un volcado de 280 caracteres
    en exadecimal
    */
 
Tipo_CHAR_puntero = (unsigned char *) frase;
 for(i=0; i < 8; i++) { //Salida de 8 direccionamientos a letras.
 printf(" || En la dirección | @ 0x%08p | está la letra:|| %c\n ||\x1b[33m", 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.*/
 
 }
    return 0;
    }
 
 
*******************************************************************************************************
 
/*
----pildora.h--------
+++++++++++++++++++++++++++++
pildora.h deberá estar en el mismo
directorio que que pildora c*/
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/* dumps, funcion de volcado de  memoria en hex byte,
y en formato dividido organizado e imprimible,
con referencias de exadecimal a dato de texto.
La llamada a esta función por parte de main en pildora.c
realiza dicho trabajo*/
void dump(const unsigned char *datos_de_buffer, const unsigned int longitud)
 {
	unsigned char byte;
	unsigned int c, n;
	for(c=0; c < longitud; c++) {
		byte = datos_de_buffer[c];
		printf("%02x ", datos_de_buffer[c]);  // Mostrar bytes en  hexadecimal
		if(((c%16)==15) || (c==longitud-1)) {
			for(n=0; n < 15-(c%16); n++)
				printf("   ");
			printf("|| ");
			for(n=(c-(c%16)); n <= c; n++) {  // Imprimir bytes por linea
				byte = datos_de_buffer[n];
				if((byte > 31) && (byte < 127)) // Rangos de impresión en consola Linux
					printf("%c", byte);
				else
					printf(".");
			}
			printf("\n"); // Al final de cada linea salto
		} // cierre de  if
	} // cierre de  for
} //cierre de función principal main()



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/s7250