As the question says:

```
typedef __CHAR16_TYPE__ char16_t; 

int main(void)
{
  static char16_t test[] = u"Hello World!\n";

  printf("Length = %d", strlen(test)); // strlen equivalent for char16_t ???

  return 0;
}

```

I searched and found only C++ solutions.

My compiler is `GCC 4.7`.

**Edit:**

To clarify, I was searching for a solution that returns the count of `code points`, not the count of `characters`.

These two are quite different for `UTF-16` strings containing characters outside the `BMP`.