#include #include #include #include "mjonot.h" char *lisaa_valeja(char *jono, int max_koko, int paikka, int valeja) /* Aluksi jonon loppup„„t„ pit„„ siirt„„ valeja kpl oikealle. T„m„n j„lkeen t„ytyy laittaa valeja valilyontia tilalle. Homma on helppo, mik„li maksimikoosta ei tarvitse v„litt„„. K„sitell„„n siis maksimikoon ylitys silmukoissa virhetilanteena. Jos paikka > strlen(jono), niin v„lit tulevat, mutta jonon pituus ei muutu! */ { int i; if ( valeja<=0 || paikka<=0 || max_koko<=paikka ) return jono; for (i=strlen(jono); i>=paikka; i--) { /* 1. kerralla menee NULL! */ if ( i+valeja >= max_koko ) continue; jono[i+valeja] = jono[i]; } for (i=paikka; i=max_koko) break; jono[i]=' '; } jono[max_koko-1]=0; /* Katkaistaan jono varulta! */ return jono; } char *lisaa_jono(char *jono, int max_koko, int paikka, char *lisaa) { int i,lp; char *p; lp = strlen(lisaa); if ( paikka<=0 || max_koko<=paikka ) return jono; lisaa_valeja(jono,max_koko,paikka,lp); p = jono+paikka; for (i=0; i"); lue_jono(N_S(jono)); printf("Anna lis„tt„v„>"); lue_jono(N_S(lisaa)); lisaa_jono(jono,11,2,lisaa); printf(" 012345678901234567890\n"); printf("Lis„tty jono \"%s\"\n",jono); } while (*jono); return 0; }