2
4

3 に答える 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 ではsandtは 1. Anda[0]は 137. また、探しているものはまさにmblen()

于 2013-03-01T23:46:46.193 に答える