Hack x Crack - Comunidad de Seguridad informática

Programación => C / C++ => Mensaje iniciado por: vadi16 en Febrero 23, 2013, 06:34:54 pm

Título: Programa en C manipulacion de cadenas.
Publicado por: vadi16 en Febrero 23, 2013, 06:34:54 pm
Hola a todos, soy nuevo en esta comunidad y queria dejaros un codigo que he creado ahora mismo para un trabajo. Consiste en buscar un caracter en una cadena de tal manera que si lo encontrara, se reemplazaria por otra cadena.

Ejemplo:

Cad1: "Hola a todos los miembros de*!"
Cad2: "HxC"
Resultado: "Hola a todos los miembros de HxC!"

Código: [Seleccionar]
/*
 * File:   Cadenas.c
 * Author: vadi
 *
 * Created on 23 de febrero de 2013, 17:01
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*
 *
 */
extern char * reemplaza_asterisco(char * dst, const char * ori, const char * ins, size_t n) {

    if (dst == NULL || ori == NULL || ins == NULL || n < 0 || n < (strlen(ori) + strlen(ins)))
        return NULL;

    int i, j, k, flag = 1;


    for (i = 0, j = 0; i < strlen(ori); i++, j++) {

        if (ori[i] == '*' && flag) { /*Caracter a buscar*/

            dst[j] = ' ';
            j++;
            for (k = 0; k < strlen(ins); k++, j++)
                dst[j] = ins[k];
            flag = 0;
            j--;

        } else {
            dst[j] = ori[i];
        }

    }



}

int main() {

    char ori[] = "Hola*!";
    char ins[10] = "HxC";
    char dst[50];

    reemplaza_asterisco(dst, ori, ins, sizeof (dst));

    printf("%s", dst);

    return (EXIT_SUCCESS);
}
Título: Re:Programa en C manipulacion de cadenas.
Publicado por: k133 en Febrero 24, 2013, 07:41:45 pm
Ajap, me gusto, el próximo paso sería sustituir la cadena dentro de un archivo ;).
Título: Re:Programa en C manipulacion de cadenas.
Publicado por: vadi16 en Febrero 25, 2013, 09:46:38 am
Ajap, me gusto, el próximo paso sería sustituir la cadena dentro de un archivo ;).
Me alegra que te guste ;)

Seria simple, solo habría que ir haciendo fgets, pasarlas por la funcion y volver a insertarlas :D