Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Negro2901

Páginas: [1]
1
Hola bs ds. Estoy intentando crear un programa que abra un archivo.txt en formato hex. Luego me permita buscar un dato x y a partir de este parametro ordenarlo al comienzo de linea.

Llegué hasta abrir un archivo y recorrerlo mostrando en formato hex, pero luego estoy muy trabado en alguna funcion de buscar y ordenarlo.

EL codigo es el siguiente:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>

void muestra (char *nom);

int main(char argc,char **argv)
{
   if (argc<2)
    {
        printf("uso: ver archivo\n");
        getch();
        exit(1);
    }
    else
    {
        muestra(argv[1]);
    }
}

/* La func "muestra" lee y despliega el archivo. Los archivos son desplegados
en reglones de 16 bytes en formato hexadecimal y en su equivalente ASCII.
*/

void muestra(char *nom)
{
    FILE *f;
    unsigned char ch;
    char a [16] = {0};
    int i=0, j=0, k;
    f = fopen(nom, "r");
    if (f==NULL)
    {
        printf("NO existe el archivo: %s", nom);
        getch();
        exit(1);
    }
    else
    {
        ch= fgetc(f);
        while (!feof(f))
        {
            printf("%02x ",ch); /*Esta sentencia despliega en formato hexa. El 0
  se utiliza para rellenar el campo de 0Žs en lugar
  de usar espacios */
            a[i]= ch;
            i++;
            if (i==16)
            {
                j++;
                for (k=0;k<16;k++)
                    if (isprint(a[k])) /*La func "isprint" se utiliza para desplegar
solo caracteres imprimibles ASCII*/
                    printf("%c",a[k]);
                    else
                        printf(".");
                    i= 0;
                    printf("\n");
            }
            if (j==24)
            {
                printf("Presione cualquier tecla...");
                getch();
                printf("\n");
                j = 0;
             }
             ch = fgetc(f);
        }
    }
    j= i;
    while (j<16)
    {
        printf("   ");
        j++;
    }
    for (k=0;k<1;k++)
        if (isprint(a[k]))
        printf("%c", a[k]);
        else
            printf(".");
        printf("\nPresione cualquier tecla...");
        getch();
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".