您如何确定无符号字符的长度*?

问题描述 投票:22回答:7

您如何确定未签名字符的长度*?

c++ c char unsigned
7个回答
33
投票

对于指针的实际大小:


9
投票

可能有两个含义。您是否只想知道指针类型有多大?如果是这样,那么乔斯的答案是正确的


8
投票

在理想的世界中,您没有。您可以将char *用于C风格的字符串(以NUL终止,并且可以测量其长度),而仅将unsigned char *用于字节数据(其长度随其他参数或其他参数一起提供,并且您可能会陷入其中)一个STL容器,例如vector<unsigned char>basic_string<unsigned char>)。


0
投票

您是否想要指针的长度,它是一个整数。如果您要指向的字符串的长度,请使用strlen:例如指针大小:sizeof(unsigned char *)字符串大小:strlen(unsigned char *)多字节字符将报告为..multi字节


0
投票

[如果您使用的是C ++,并且它是无符号字符*中的字符串,那么最好在操作之前先将其放入std :: string中。这样,您可以对它进行各种处理,并且仍然可以随时获取它的length()和/或Capacity()。


0
投票

如果使用C代码进行编译,则strlen()函数params可以处理“ unsigned char *”;但是在C ++代码中,参数不能处理“ unsigned char *”;因此,如果您在C ++代码中进行编译,则需要强制翻译(unsigned char *)str


-3
投票

通过无符号字符*我想你是指位于该指针处的字符串。在这种情况下,它将是:

© www.soinside.com 2019 - 2024. All rights reserved.