Publi

  • Poco a poco publicando

    Se me ha ocurrido que será interesante iniciar una pequeña biblioteca con las funciones de C que vaya generando, ordenadas por categorías, y está bien empezar con la función que publiqué hace un rato: strrev.

    Ocupa muy poco (ya irá creciendo): strutils.zip

    Para trabajar con ella:

    1
    gcc -c strutils.c

    Y dentro de nuestro programa debemos hacer

    1
    #include "strutils.h"

    y para compilar:

    1
    gcc -o miprograma miprograma.c strutils.o
    Leer artículo completo
  • Volteando cadenas

    En C, una de las pequeñas cosas que a veces nos hace más lentos a la hora de hacer un pequeño programa es la posibilidad de darle la vuelta a una cadena. Bien, aquí traigo un pequeño código (función y ejemplo) de strrev, que además de poder dar la vuelta a una cadena, puede manipular sólo ciertos caracteres:

    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
    #include <stdio.h>
    #include <string.h>

    char *strrev(char *str, int strl)
    {
        /* Creamos punteros al principio y al final de la cadena */
        /*       C   A   R   A   C   T   E   R   5   \0 */
        /*       |                               |      */
        char *start = str, *end = str + strl - 1;
        char temp;
        /* Iteramos hasta que el principio y el fin coincidan */
        while(start < end)
            {
                /* Intercambiamos los caracteres */
                /* 1º  C A R A C T E R 5 */
                /* 2º  5 A R A C T E R C */
                /* 3º  5 R R A C T E A C */
                /* 4º  5 R E A C T R A C */
                /* 4º  5 R E T C A R A C */
                temp = *start;
                *start++ = *end;
                *end-- = temp;
            }
        return str;
    }

    /* Ejemplo */
    int main()
    {
        char cadena[50]="Una cadena de caracteres cualquiera";
        char tmp[50]="Una cadena de caracteres cualquiera";
        char *cad2=cadena;
        printf("Cadena original: %s\n", cadena);
        printf("Cadena al revés: %s\n", strrev(tmp, strlen(tmp)));
        strrev(cadena+14, 10);
        printf("Caracteres al revés: %s\n", cad2);
        return 0;
    }

    Esta función la encontré hace mucho tiempo navegando y me pareció muy interesante, sobre todo por cómo está hecha, creo que es de las más rápidas.… Leer artículo completo

  • Sigo probando…

    Acabo de instalar el plugin Code Highlighter para WordPress que utiliza la clase GeSHi de PHP para colorear código fuente y contar las líneas, algo importante para mí.

    Aquí muestro algunas pruebas, tal vez no sirvan para nada, pero bueno.

    Un poco de C:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <stdio.h>

    int main(int argc, char* argv[])
    {
      int i;
      printf("Hola mundo!
    Leer artículo completo
  • Hola Mundo!

    Cuando grandes cantidades de bits desfilan ordenados creando una sinfonía imperfecta y hacemos que el mundo entero la escuche.
    Porque hacemos que cada melodía resida en conocimiento de la humanidad y sea conocida de generación en generación, sea versionada y tras siglos recordada.
    Es nuestra creación, nuestro legado al mundo y nuestro deber es compartirlo.

    Tras esta pequeña introducción os presento mi nuevo blog. Tratará sobre algunas de mis pasiones: la programación, la tecnología.… Leer artículo completo