Aquí teneis el código:
Código
#include <stdio.h> #define TMENSAJE 1000 // Funciones int sizeoffile(char Narchivo[]); // DONE int sizeofstring(char cadena[]); // DONE void BInicio(char texto[], int size); // DONE void Cmensaje(char cadenaF[], char texto[], int posicion, char AEscritura[], int sizeoffin); // DONE int BFin(char texto[], char cadenaF[], int posicion, int sizeoffin); // DONE int main(){ char ALectura[30]; int sizeL = sizeoffile(ALectura); char texto[sizeL]; FILE *archivo; int i = 0; for (i = 0; i < sizeL; i++){ if (texto[i] == EOF){ break; } } BInicio(texto, sizeL); return 0; } int sizeoffile(char Narchivo[]){ FILE *archivo; int i = 0; i++; } return i; } int sizeofstring(char cadena[]){ int i = 0; while (cadena[i] != '\0'){ i++; } return i; } void BInicio(char texto[], int size){ char CInicio[50]; char CFin[50]; char AEscritura[30]; int sizeofinicio = sizeofstring(CInicio); int sizeoffin = sizeofstring(CFin); int i = 0; int j = 0; int cont = 0; for (i = 0; i < size; i++){ for (j = 0; j < sizeofinicio; j++){ if (i-j >= 0){ if (texto[i+j] == CInicio[j]){ cont++; }else{ cont = 0; } if (cont == sizeofinicio){ Cmensaje(CFin, texto, i+sizeofinicio, AEscritura, sizeoffin); cont = 0; } } } } } void Cmensaje(char cadenaF[], char texto[], int posicion, char AEscritura[], int sizeoffin){ FILE *archivo; char mensaje[TMENSAJE]; int i = 0; int j = 0; int k = 0; int cont = 0; for (i = posicion; i < (posicion+TMENSAJE); i++){ mensaje[k] = texto[i]; k++; for (j = 0; j < sizeoffin; j++){ if (texto[i+j] == cadenaF[j]){ cont++; }else{ cont = 0; } if (cont == sizeoffin){ i = (posicion+TMENSAJE); mensaje[k-1] = 0; } } } } int BFin(char texto[], char cadenaF[], int posicion, int sizeoffin){ int i = 0; int j = 0; int cont = 0; for (i = 0; i < TMENSAJE; i++){ for (j = 0; j < sizeoffin; j++){ if (i-j >= 0){ if (texto[i+j] == cadenaF[j]){ cont++; }else{ cont = 0; } if (cont == sizeoffin){ cont = 0; return 1; } } } } return 0; }
Tengo también el primero que hice especifico para tuenti, que ademas te pone de quien es el mensaje y para quien (con direcciones de correo de tuenti). Si alguien lo quiere puedo postearlo.
También estoy abierto a sugerencias sobre mejoras en el programa.
Espero que le sirva a alguien!!
PD: siento la falta de comentarios en el código, pero si alguien no lo entiende puedo explicarselo o editarlo con comentarios.