Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 «  : 31-08-2010 19:36 »   | 
								
								 | 
							  
							 
							существует ли аналог функции strstr для поиска в массиве байтов, с куазанием длины массива и без реагирования на 0 ?
  Рылся в интернете, не нашёл... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 31-08-2010 20:45 »   | 
								
								 | 
							  
							 
							
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 31-08-2010 20:50 от RXL »
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 31-08-2010 20:53 »   | 
								
								 | 
							  
							 
							эхъ, жалко. Спасибо.  А я, кстати, уже свою накатал - очень похоже получилось const BYTE* CScanner::st_findInBuf(const BYTE* pBuff,DWORD dwdBuffLen,const BYTE* pSub,DWORD dwdSubSetLen) { 	if(!pBuff)return 0; 	if(!pSub)return 0; 	if(!dwdBuffLen)return 0; 	if(!dwdSubSetLen)return 0;
  	const BYTE* pBuff_end=pBuff+dwdBuffLen; 	if(pBuff_end<=pBuff)return 0;
  	const BYTE* pCurr=pBuff;
  	while(   pCurr<pBuff_end && (pCurr=(const BYTE*)memchr(pCurr,*pSub,pBuff_end-pCurr))   ) 	{ 		if( ((DWORD)(pBuff_end-pCurr)) < dwdSubSetLen )return 0;
  		if(0==memcmp(pCurr,pSub,dwdSubSetLen))return pCurr;
  		pCurr++; 	}
  	return 0; }
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 31-08-2010 21:10 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 31-08-2010 20:55 »   | 
								
								 | 
							  
							 
							Леш, посмотри по ссылке первые позиции - там есть исходники. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 31-08-2010 20:57 »   | 
								
								 | 
							  
							 
							да, я успел даже в посте их увидеть ) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 31-08-2010 20:57 »   | 
								
								 | 
							  
							 
							Я его прибил, т.к. поиск дает несколько вариантов. Тот что я привел и убрал был сделан для BCB, а это не есть гуд - у них свой диалект C++. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 31-08-2010 21:00 »   | 
								
								 | 
							  
							 
							Дык, мне исходники как бы и не надо, я сам факт искал. Если нету - я напишу свой (уже написал) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 01-09-2010 04:52 »   | 
								
								 | 
							  
							 
							Скорость мне особо не надо. Мельком глянул - они там как-то на строке зациклились, а файл -  отнюдь не строка, оканчивающаяся нулём ) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Антон (LogRus)
							
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 01-09-2010 04:54 »   | 
								
								 | 
							  
							 
							терминирующий 0 это частность 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Странно всё это.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 01-09-2010 06:41 »   | 
								
								 | 
							  
							 
							Какой еще терминирующий ноль? Ведь задается длина обеих массивов! 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									«  Ответ #11 : 01-09-2010 06:47 »    | 
								
								 | 
							  
							 
							можно для некого ускорения ещё второй символ тоже сравнить, но, сдаётся, это не сильно скажется ) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 10-09-2010 16:25 »   | 
								
								 | 
							  
							 
							а вот мне тут подсказали, самое оно )) #include <algorithm>
  	const char by1[10]={0,1,2,3,4,5,6,7,8,9}; 	const char by2[3]={2,3,4}; 		 	const char* p=std::search(by1,by1+sizeof(by1),by2,by2+sizeof(by2));
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Антон (LogRus)
							
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 13-09-2010 07:00 »   | 
								
								 | 
							  
							 
							я и забыл про него    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Странно всё это.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 13-09-2010 07:12 »   | 
								
								 | 
							  
							 
							а я искал нечто подобное в algorithm, но сам не нашёл тогда. Всё find пытал )) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	 |