Memcspn efficace

Est-ce que quelqu’un sait d’une implémentation efficace d’une fonction memcspn ?? Il devrait se comporter comme strcspn mais rechercher l’étendue dans une mémoire tampon et non dans une chaîne terminée par un caractère nul. Le compilateur cible est visualC ++.

Merci Luca

Une implémentation quasi optimale:

size_t memcspan(const unsigned char *buf, size_t len, const unsigned char *set, size_t n) { size_t i; char set2[1< 

Il peut être préférable d’utiliser un tableau de bits au lieu d’un tableau d’octets pour set2 , selon que l’arithmétique ou un peu plus de mémoire cache est plus coûteux pour votre machine.

Il semblerait assez difficile d’écrire une implémentation inefficace de cette fonction, TBH – l’implémentation semble assez simple, je vous suggère donc de l’écrire vous-même si vous ne trouvez pas d’implémentation dans un délai raisonnable.