Beispiel #1
0
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;
}
Beispiel #2
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;
}