Publi

  • Operaciones básicas con cadenas en C++: capitalización, conversiones, recorte, recorrido y más

    Como ha sucedido con otros lenguajes, C++ también ha evolucionado. Ha madurado mucho desde aquellos códigos que programábamos hace años y se nota. Por un lado, podemos pensar que al sumar abstracción en ciertos aspectos nos separa de la máquina y hace nuestro código más lento. Suma comprobaciones, hace más callbacks y en definitiva, una sencilla tarea que completaba en pocos cientos de operaciones, ahora son pocos miles. Aunque en su favor, podemos decir que aquello que programábamos en 15 o 20 líneas de código se ha reducido a una o dos, reduciendo así los puntos de ruptura, posibles bugs y calentamientos de cabeza futuros.… Leer artículo completo

  • Algunas hojas de cálculo recortan los CSV en las comillas [Minipost]

    Es algo que me ha pasado estos días al exportar un archivo CSV de una base de datos (por ejemplo con este método). Era un CSV de unas 3000 filas y algunas de ellas tenían textos entre comillas en una de sus columnas.

    El problema es que al abrirlo con LibreOffice Calc (tengo entendido que con WPS Office también pasaba), aquellas columnas que tenían textos entre comillas no salían bien y terminaban cortándose y dividiéndose.… Leer artículo completo

  • Introduciendo datos al servidor MySQL desde CSV con ejemplos (importar desde CSV)

    Esto nos resultará muy util a la hora de cargar datos en nuestra base de datos. imaginemos que tenemos una tabla como esta:

    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE Testing.NewTable (
        Id BIGINT,
        Nombre VARCHAR(100),
        Email VARCHAR(100),
        Telefono VARCHAR(100)
    )
    ENGINE=MyISAM;

    por ahora vacía, pero tenemos todos los datos que necesitamos en un archivo CSV como este:

    Caso más simple

    1;Antonio;antonio@dominio.com;123456789
    2;Armando;armando@dominio.com;234567891
    3;Carlos;carlos@dominio.com;345678912
    4;Ceferino;cefe@dominio.com;456789123
    5;Cipriano;cipri@dominio.com;567891234

    El primer ejemplo es fácil, simplemente hacemos:

    1
    2
    3
    LOAD DATA INFILE '/tmp/nombres.csv'
      INTO TABLE Testing.
    Leer artículo completo
  • Separar palabras de una cadena de caracteres en un array [ C ]

    Si conocéis PHP, habréis visto la función explode(). Tiene una utilidad curiosa, separa cadenas de caracteres en elementos de un array. Es como hacer un corte a la cadena cada vez que encontremos un carácter delimitador. Por ejemplo:

    «Bienvenido al blog Poesía Binaria», si usamos como delimitador » » (un espacio), los elementos del array quedarían así:

    [0] = «Bienvenido»
    [1] = «al»
    [2] =»blog»
    [3] =»Poesía»
    [4] = «Binaria»

    Pero en C, no encontramos ninguna función que haga esto, tenemos que currar un poco; aunque tenemos una función de string.h que hace algo que se parece en cierto modo: strtok(), esta función, va a separar una cadena en fragmentos modificando la propia cadena, es decir, introduciremos caracteres terminadores al final de cada palabra.… Leer artículo completo

  • Separar palabras de una cadena en C [ método dinámico con puntero triple ]

    photo-1444228250525-3d441b642d12
    Hace un mes o así publiqué un método para extraer las palabras de una cadena en un Array, ahora traigo un nuevo fragmento de código cuya misión es no estar tan limitado, y no tener que decir con antelación y con ello no tener que reservar memoria precipitadamente.

    Dejo dos códigos fuente, en el primero, la reserva de memoria para almacenaje de información es palabra por palabra, es decir, me llega una palabra reservo memoria, me llega otra, amplio en 1 elemento la memoria reservada y así hasta recibir todas (incluyo el código para probar la función):

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

    /**
    ******************************************************************
    * @brief Extrae palabras de una cadena y las coloca en un puntero
    *        doble E/S (triple, por tanto).
    Leer artículo completo