Uso libreria Stream e readtString

e se modifichi il metodo getString aggiungendo da quale punto vuoi iniziare a leggere, provo a fare un esempio

//questo nella libreria
int TextFinder::getString( char *pre_string, char *post_string, char *buffer,int start, int length)
  {  
    if( find(pre_string) ){ 
      int index = 0;   
      *buffer = 0;
      while(index < length-1 ){
        
		char c = myRead();
		
		if(start == 0)
		{        
			if( c == 0 ){
				return 0;   // timeout returns 0 !
			}
			else if( c == *post_string ){
				buffer[index] = 0; // terminate the string
				return index;               // data got successfully
			}
			else{
				buffer[index++] = c;   
			}
		}
		else
		{
			start--;
		}
      }
	  
      buffer[index] = 0;
      return index; // Note: buffer full before the closing post_string encountered
    }   
    return 0;    //failed to find the prestring
  } 

// le tuo codice fai una cosa tipo
 
char myAvviso[500];
  int len = 0;  
  
  while (client.available()) {             
	len = len + finder.getString("title","studenti",myAvviso,len,500);
	--aggiungo myAvviso[] i in una memoria + grande esempio SD 
  }

non so se funziona non l'ho provato ma vedi se può esserti utile