/* * *Tämä muuntaa ut.iso:n joukoksi html-tiedostoja. * * Pekka Järveläinen, jarvelai@csc.fi */ #include #include #include static char *taulu[] = { "tyhjä", "Evankeliumi Matteuksen mukaan", "Evankeliumi Markuksen mukaan", "Evankeliumi Luukkaan mukaan", "Evankeliumi Johanneksen mukaan", "Apostolien teot", "Kirje roomalaisille", "Ensimmäinen kirje korinttilaisille", "Toinen kirje korinttilaisille", "Kirje galatalaisille", "Kirje efesolaisille", "Kirje filippiläisille", "Kirje kolossalaisille", "Ensimmäinen kirje tessalonikalaisille", "Toinen kirje tessalonikalaisille", "Ensimmäinen kirje Timoteukselle", "Toinen kirje Timoteukselle", "Kirje Titukselle", "Kirje Filemonille", "Kirje heprealaisille", "Ensimmäinen Pietarin kirje", "Toinen Pietarin kirje", "Ensimmäinen Johanneksen kirje", "Toinen Johanneksen kirje", "Kolmas Johanneksen kirje", "Jaakobin kirje", "Juudaksen kirje", "Johanneksen ilmestys" }; #define STRBUFSIZ 2048 char strbuf[STRBUFSIZ]; char edelluku[10]="1"; char nimi[20]; char edel[20]="Matt"; char * estr, *loppu, *kaksoispiste, *jae, *piste, *luku; FILE *UT1, *UT2, *UT3; short i = 1; parsi(){ loppu = estr + 1; *estr = '\0'; kaksoispiste = strchr(strbuf, ':'); jae = kaksoispiste + 1; *kaksoispiste = '\0'; piste = strchr(strbuf, '.'); if (piste[1] == 't') piste += 2; /*Ap.t*/ luku = piste + 1; *piste = '\0'; } luvunvaihto(char *viite) { /* uusi luku uuteen tiedostoon */ sprintf(nimi, "%s.%s.html", strbuf, luku); fprintf(UT3, "

Seuraava luku, \n",34,nimi,34); fprintf(UT3, "%s\n \n", 34, strbuf, 34, taulu[i]); fclose(UT3); UT3 = fopen(nimi, "w"); fprintf(UT3, " %s %s \n",taulu[i],luku); fprintf(UT3, "Edellinen luku, \n", 34, viite, edelluku,34); fprintf(UT3, "%s\n", 34, strbuf, 34, taulu[i]); fprintf(UT3, "

%s %s

\n", taulu[i], luku); fprintf(UT2, "%s
\n", 34, nimi, 34, luku); strcpy(edelluku, luku); } main(int argc, char **argv) { UT1 = fopen("UT.html", "w"); UT2 = fopen("Matt.html", "w"); UT3 = fopen("Matt.1.html", "w"); fprintf(UT1, " Uusi testamentti \n"); fprintf(UT1, "

Uusi testamentti

\n"); fprintf(UT1, "Evankeliumi Matteuksen mukaan
\n",34,34); fprintf(UT2, " Evankeliumi Matteuksen mukaan \n"); fprintf(UT2, "

Evankeliumi Matteuksen mukaan

\n"); fprintf(UT2, "1
\n",34,34); fprintf(UT3, " Evankeliumi Matteuksen mukaan 1 \n"); fprintf(UT3, "

Evankeliumi Matteuksen mukaan 1

\n"); while(fgets(strbuf, STRBUFSIZ, stdin)!=NULL){ estr = strchr(strbuf, ' '); if((strlen(strbuf)< 2) || ((long)(estr-strbuf) < 0)){ /* kirja vaihtuu */ if (fgets(strbuf, STRBUFSIZ, stdin) == NULL) exit(12); i++; estr = strchr(strbuf, ' '); parsi(); fprintf(UT2, "

%s, \n", 34, strbuf, 34, taulu[i]); fprintf(UT2, "UT \n", 34, 34); fclose(UT2); sprintf(nimi, "%s.html", strbuf, luku); UT2 = fopen(nimi, "w"); fprintf(UT2, " %s \n",taulu[i]); fprintf(UT2, "%s, \n", 34, edel, 34, taulu[i-1]); fprintf(UT2, "UT\n", 34, 34); fprintf(UT2, "

%s

\n", taulu[i]); fprintf(UT1, "%s
\n", 34, nimi, 34, taulu[i]); luvunvaihto(edel); strcpy(edel, strbuf); fprintf( UT3, "%s. %s
", 34, jae, 34, jae,loppu); } else { /* tulostetaan jae tiedostoon */ parsi(); if ( strncmp(edelluku, luku, strlen(luku)) != 0) luvunvaihto(strbuf); fprintf( UT3, "%s. %s
", 34, jae, 34, jae,loppu); } } fprintf(UT3, " \n"); fclose(UT3); fprintf(UT2, " \n"); fclose(UT2); fprintf(UT1, " \n"); fclose(UT1); }