At work today we were trying to come up with any reason you would use strspn.
I searched google code to see if it’s ever been implemented in a useful way and came up blank. I just can’t imagine a situation in which I would really need to know the length of the first segment of a string that contains only characters from another string. Any ideas?
Although you link to the PHP manual, the
strspn()function comes from C libraries, along withstrlen(),strcpy(),strcmp(), etc.strspn()is a convenient alternative to picking through a string character by character, testing if the characters match one of a set of values. It’s useful when writing tokenizers. The alternative tostrspn()would be lots of repetitive and error-prone code like the following:Can you spot the error? 🙂
Of course in a language with builtin support for regular expression matching,
strspn()makes little sense. But when writing a rudimentary parser for a DSL in C, it’s pretty nifty.