int main(){ //input printf("Enter string: "); gets(str); printf("Enter word: "); gets(w); //finding length slen = strlen(str); wlen = strlen(w); //search w in str i = j = wcount = 0; while(i < slen){ if(str[i] == w[0]){ //first letter of the word found for(j = 0; j < wlen; j++){ if(str[i+j] != w[j]){ //mismatch gotoNextWord(); break; } } if(j == wlen){ //match found if(isspace(str[i+j])||ispunct(str[i+j])||str[i+j]=='\0'){ wcount++; i += j; } } } else{ gotoNextWord(); } i++; } printf("Word count: %d\n",wcount); return 0; }
SP_spectrum _SP_readAscii(char* filename,VC_vector which,char* file,size_t line) { FILE *fstrm; size_t i,j; int ok; long nbl,nbw; long nbc; SP_spectrum rslt; if(wordCount(filename,&nbl,&nbw,NULL)) return NULL; if((fstrm=fopen(filename,"r"))==NULL) return NULL; if(nbw%nbl) return NULL; nbc=nbw/nbl; rslt=_SP_allocate(nbl,nbc,file,line); if(!rslt) return NULL; MMV_malloc(rslt->name,strlen(filename)+1,char); strcpy(rslt->name,filename); ok=1; for(i=0;(i<nbl)&&ok;i++) for(j=0;(j<nbc)&&ok;j++) { if(gotoNextWord(fstrm)) { ok=0; break; } if(readNumberD(fstrm,rslt->data[j]->ddata+i)) { fprintf(stderr,"Error when reading file '%s' (line: %ld column: %ld)\n",filename,i,j); exit(1); } } if(ok==0) fprintf(stderr,"Reach end of file !!\n"); return rslt; }