C++11 char16_t strlen-equivalent function

2019-04-20 01:57发布

I have a simple question: Is there a way to do a strlen()-like count of characters in zero-terminated char16_t array?

2条回答
趁早两清
2楼-- · 2019-04-20 02:14

use

char_traits<char16_t>::length(your_pointer)

see 21.2.3.2 struct char_traits<char16_t> and table 62 of the C++11-Std.

查看更多
We Are One
3楼-- · 2019-04-20 02:21

Use pointers :), create a duplicate pointer to the start, then loop through it while (*endptr++);, then the length is given by endptr - startptr. You can actually template this, however, its possible the the compile won't generate the same intrinsic code it does for strlen(for different sizes ofc).

查看更多
登录 后发表回答