问题
I have a simple question:
Is there a way to do a strlen()
-like count of characters in zero-terminated char16_t
array?
回答1:
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.
回答2:
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).
来源:https://stackoverflow.com/questions/5818508/c11-char16-t-strlen-equivalent-function