struct StringsBase *StringsBase=0L; /*#define RUN*/ #ifdef RUN char *GetWord(s,numberl) char *s; long numberl; { char *p,*ps,*as; char c; ps=s; if(numberl<1) numberl=1; if(s) { do { /* wordcountlloop */ do { c=*ps++; } while (c==' '); /* readover SPACES */ ps--; as=ps; if(c) { /* charscpy until SPACE (next word) or EOS */ do { c=*ps++; } while (!(c==' ') && c ); } if(!c) numberl=0; if(numberl>0) numberl--; } while (numberl); p=s; ps--; do { *p++=*as++; } while (as s = <%s>\n",ds,s); strcpy(ds," "); strcpy(s,ds); GetWord(s,2); printf("ds = <%s> s = <%s>\n",ds,s); strcpy(ds,""); strcpy(s,ds); GetWord(s,3); printf("ds = <%s> s = <%s>\n",ds,s); strcpy(ds," Dies ist ein Teststring der nacheinander aufgeteilt wird"); for(il=0,printf(" <%s> \n",s),strcpy(s,ds); il<11; il++,strcpy(s,ds)) { p=(char *)GetWord(s,il); printf("s = <%s> p = <%s> %ld\n",s,p,il); }; strcpy(ds,"Dies ist ein Teststring der nacheinander aufgeteilt wird"); strcpy(s,ds); for(il=0,printf(" <%s> \n",s),strcpy(s,ds);il<11; il++,strcpy(s,ds)) { p=(char *)GetWord(s,il); printf("s = <%s> p = <%s> %ld\n",s,p,il); }; CloseLibrary(StringsBase); } } /* ds = < > s = <> ds = < > s = <> ds = <> s = <> <> s = p = 0 s = p = 1 s = p = < ein Teststring der nacheinander aufgeteilt wird> 2 s = p = < Teststring der nacheinander aufgeteilt wird> 3 s = p = 4 s = p = 5 s = p = 6 s = p = 7 s = p = <> 8 s = p = <> 9 s = p = <> 10 s = p = 0 s = p = 1 s = p = 2 s = p = 3 s = p = 4 s = p = 5 s = p = 6 s = p = 7 s = p = <> 8 s = p = <> 9 s = p = <> 10 */