struct StringsBase *StringsBase=0L; /*char *GetStringCpy(char *dest,char *source,char *as,char *bs); */ #ifdef RUN char *GetStringCpy(ds,s,as,bs) char *ds; char *s; char *as; char *bs; { /* */ char *p,*ap,*bp; if(ds) { ap=s; if(as) if(*as) ap=(char *)StrStr(s,as); /* Exists as ? */ if(ap) { bp=as-1; do ap++; while(*(++bp)); ap--; } if(!ap) ap=s; /* SET BOS */ if(!bs) { bp=s-1; do ; while(*++bp); } if(bs) bp=(char *)StrStr(ap,bs); /* Exists bs ? */ if(!(*bs) || !bp) { bp=ap-1; do ; while(*++bp); } p=ds; if(bp>ap) { *p=*ap; do *++p=*++ap; while(ap ",as); if(bs) printf(" bs <%7s> ",bs); if(as) if(!strlen(as)) puts("as = leerstring bis bs lesen"); if(bs) if(!strlen(bs)) puts("bs = leerstring von as bis EOS lesen"); GetStringCpy(ds,s,as,bs); printf("OUT <%s>\n",ds); strcpy(s,os); return el; /* */ } int main() { /* MAIN */ long el=0; char ds[256],s[1024],as[1024]; el--; StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0); strcpy(as,"Dies ist ein Teststring von Getstring"); strcpy(s,as); printf("Inputstring = <%s>\n",as); el=test(ds,s,"ist",0); el=test(ds,s,0,"ist"); el=test(ds,s,"D","g"); el=test(ds,s,"%","ein"); el=test(ds,s,"ist",""); el=test(ds,s,"ist","Test"); el=test(ds,s,"ist","test"); el=test(ds,s,"","tstr"); el=test(ds,s,"tst",""); el=test(ds,s,"ist","test"); el=test(ds,s,"Di","e"); el=test(ds,s,"D","e"); el=test(ds,s,"Getstring","i"); el=test(ds,s,"Getstrin","i"); strcpy(s,"ab"); printf(" newstring <%s>\n",s); el=test(ds,s,"","a"); el=test(ds,s,"a",""); el=test(ds,s,"","b"); el=test(ds,s,"b",""); if(StringsBase) CloseLibrary(StringsBase); return el; } /* END */ /* Inputstring = IN as < ist> OUT < ein Teststring von Getstring> bs < ist> OUT IN as < D> bs < g> OUT IN as < %> bs < ein> OUT IN as < ist> bs < > bs = leerstring von as bis EOS lesen OUT < ein Teststring von Getstring> IN as < ist> bs < Test> OUT < ein > IN as < ist> bs < test> OUT < ein Teststring von Getstring> IN as < > bs < tstr> as = leerstring bis bs lesen OUT IN as < tst> bs < > bs = leerstring von as bis EOS lesen OUT IN as < ist> bs < test> OUT < ein Teststring von Getstring> IN as < Di> bs < e> OUT <> IN as < D> bs < e> OUT IN as bs < i> OUT <> IN as bs < i> OUT newstring IN as < > bs < a> as = leerstring bis bs lesen OUT <> IN as < a> bs < > bs = leerstring von as bis EOS lesen OUT IN as < > bs < b> as = leerstring bis bs lesen OUT IN as < b> bs < > bs = leerstring von as bis EOS lesen OUT <> */