¿Alguien sabe de una implementación eficiente de una función memcspn? Debería comportarse como strcspn pero buscar el intervalo en un búfer de memoria y no en una cadena terminada en nulo. El comstackdor de destino es visualC ++.
Gracias luca
Una implementación casi óptima:
size_t memcspan(const unsigned char *buf, size_t len, const unsigned char *set, size_t n) { size_t i; char set2[1<
Podría ser mejor usar una matriz de bits en lugar de una matriz de bytes para set2
, dependiendo de si la aritmética o un poco más de caché de cacheo es más caro en su máquina.
Parecería bastante difícil escribir una implementación ineficiente de esta función, TBH; la implementación parece bastante sencilla, por lo que sugeriría escribir esto usted mismo si no puede encontrar una implementación en un plazo de tiempo razonable.