#include #include #include "lib.h" void main (int argc, char *argv[]) { struct { int duljinas; char format[MAXFORMAT+1]; int duljinad; } opis[MAXPOLJA]; int npolja = 0, pocetaks, pocetakd, i; char buf[MAXBUF+1], polje[MAXBUF+1]; char zapis[MAXBUF+1]; while (npolja < MAXPOLJA && fscanf (fdmask, "%d %s %d", &opis[npolja].duljinas, opis[npolja].format, &opis[npolja].duljinad) == 3) { translate (opis[npolja].format, "\\n", "\n"); npolja++; } while (fgets (buf, MAXBUF, fdtext)) { pocetaks = 0; pocetakd = 0; for (i = 0; i < npolja; i++) { strncpy (polje, &buf[pocetaks], opis[i].duljinas); polje[opis[i].duljinas] = '\0'; sscanf (polje, opis[i].format, &zapis[pocetakd]); /* printf ("Parms: %s %s\n", opis[i].format, polje); printf (opis[i].format, &zapis[pocetakd]); */ pocetaks += opis[i].duljinas; pocetakd += opis[i].duljinad; } fwrite (zapis, pocetakd, 1, fo); } }