3 に答える
4
コード:
printf("%d\n",(int)strlen("‰"));
戻り値:
3
于 2013-03-01T07:10:54.660 に答える
1
Aki が提案したように、strlen を実行するか、次の方法でバイト数をカウントできます。
#include <stdio.h>
int fn(const char *s)
{
int n = 0;
if (*s != '\0') {
do {
n++;
s++;
} while ((*s & 0xc0) == 0x80);
}
return n;
}
int main(void)
{
printf("%d\n", fn("‰"));
return 0;
}
于 2013-03-01T09:03:20.433 に答える
0
sizeof が機能します。私が使いたかった:
unsigned char a[]="‰";
size_t s=sizeof(a)-1;
size_t t=strlen((char*)a);
しかし VC2012 ではs
andt
は 1. Anda[0]
は 137. また、探しているものはまさにmblen()
于 2013-03-01T23:46:46.193 に答える