Cita:
Iniciado por Malenko
O tengo el C muy oxidado o ahí no he visto ni una sola línea de código...
Disculpa Amigo... lo te que tengo de Codigo es el siguiente
#include <stdio.h>
#define token1 "<DESTINATARIO>"
#define token2 "<TEXTO>"
#define token3 "</TEXTO>"
int main() {
FILE *fp;
FILE* arch;
char linea[150];
int l160, suma, fin;
arch = fopen ("entrada.txt", "r");
fp = fopen ("salida.txt", "w");
while (fscanf (arch, "%s", linea) != EOF) {
if (compTexto(linea,token1)){
fprintf(fp, "\n");
fprintf(fp, "%s", "DESTINATARIO: ");
fscanf (arch, "%s", linea);
fprintf(fp, "%s\r", linea);
}
if (compTexto(linea,token2)){
fprintf(fp, "%s", "\nTEXTO:(1/) ");
l160 = 0;
while (fscanf (arch, "%s", linea) != compTexto(linea,token3)){
fin = longTexto(linea) + 1;
suma = l160 + fin;
if (suma < 160){
fprintf(fp, "%s ", linea);
l160 = suma;
}
else{
fprintf(fp, "\n");
fprintf(fp, "%s", "\nDESTINATARIO: ");
fprintf(fp, "%s", "\nTEXTO:() ");
fprintf(fp, "%s ", linea);
l160 = fin;
}
}
fprintf(fp, "\n");
}
}
fclose(fp);
return 0;
}
int compTexto(char c1[ ], char c2[ ]){
int k = 0;
while ((c1[k] != '\0') && (c2[k] != '\0') && (c1[k] == c2[k]))
k++;
return ((c1[k] == '\0') && (c2[k] == '\0')) ;
}
int longTexto(char c[ ]){
int k = 0;
while (c[k] != '\0')
k++;
return k;
}
No necesito que el codigo sea eficiente... solo que haga lo que se pide