| 
							DaSharm
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : 25-02-2005 20:12 »   | 
								
								 | 
							  
							 
							 мне нужно написать аналог strtok (в конкретном примере нет возможности использования strtok). Т. е. нужно написать свою ф-цию, что полностью заменяет strtok. Я написал что-то, но сам не понимаю где глюк. Ф-ция типа работает, но страшно глючит...Помогите пожалуйста...
  мой пример:
  char *valtok; DWORD iv;
  char *mstrtok(char *tok, DWORD ltok,char *delim) { 	char *mresult; 	DWORD f;
  	if(!lstrcmp(tok,NULL)){ 	} 	else 	{ 	valtok=(char*)GlobalAlloc(0,ltok+1); 	lstrcpyn(valtok,tok,ltok+1); 	} 	
  	for(DWORD i=iv;i<ltok;i++) 	{ 		 		if(valtok[i]==delim[0]){
  			mresult=(char*)GlobalAlloc(0,i-iv);
  			 for(f=0;f<i;f++) 			 { 				mresult[f]=valtok[iv+f]; 			 } 	     	mresult[i-iv]=0x00; 			 			iv+=(i+1); 			return mresult; 		} 		
 
  	}
  	
  	return valtok; }
  int APIENTRY WinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow) { 	char a[]="1aagf|2abcabc|3ee|aaa"; 	char b='|'; 	MessageBox(0,mstrtok((char*)&a,strlen((char*)&a),(char*)&b),NULL,0); 	MessageBox(0,mstrtok(NULL,strlen((char*)&a),(char*)&b),NULL,0); 	MessageBox(0,mstrtok(NULL,strlen((char*)&a),(char*)&b),NULL,0); 	return 0; }
  
						 |