Y'a des trucs qui reviennent dans beaucoup de mes codes, pour la manipulation de string en C. Notement un qui permet de faire de découper une chaîne de characteres en un tableau suivant une regexp. Le tout sur place.

Il faut penser à

#include <pcre.h>               // pcre_*

Le pcre* donné en second argument est un pointeur sur une variable produite par pcre_compile () .

La fonction elle même :

/*  Transform a string in many consecutive strings,
 * and count them. */
int
strsplit (char *str, pcre * regexp)
{
  assert (str && regexp);
  int matchnum = 0;             // number of matchs
  int strl = strlen (str);
  int ovector[2] = { -1, -1 };
  while (0 < pcre_exec (regexp, NULL, str, strl, *ovector + 1,
                        PCRE_NOTBOL | PCRE_NOTEOL, ovector, sizeof (ovector)))
    {
      str[*ovector] = '\0';
      matchnum++;
    }
  return matchnum + 1;
}
c/split_a_la_php.txt · Last modified: 2010/01/12 13:29 (external edit)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0