_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Mengembalikan jumlah karakter atau byte dalam hitungan tertentu.

Penting

_mbsnbcnt, , _mbsnbcnt_l_mbsnccnt, dan _mbsnccnt_l tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.

Sintaks

size_t _strncnt(
   const char *str,
   size_t count
);
size_t _wcsncnt(
   const wchar_t *str,
   size_t count
);
size_t _mbsnbcnt(
   const unsigned char *str,
   size_t count
);
size_t _mbsnbcnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);
size_t _mbsnccnt(
   const unsigned char *str,
   size_t count
);
size_t _mbsnccnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);

Parameter

str
String yang akan diperiksa.

count
Jumlah karakter atau byte yang akan diperiksa di str.

locale
Lokal untuk digunakan.

Nilai hasil

_mbsnbcnt dan _mbsnbcnt_l mengembalikan jumlah byte yang ditemukan di karakter multibyte pertama count dari str. _mbsnccnt dan _mbsnccnt_l mengembalikan jumlah karakter yang ditemukan di byte pertama count dari str. Jika karakter null ditemui sebelum pemeriksaan str selesai, karakter tersebut mengembalikan jumlah byte atau karakter yang ditemukan sebelum karakter null. Jika str terdiri dari kurang dari count karakter atau byte, mereka mengembalikan jumlah karakter atau byte dalam string. Jika count kurang dari nol, mereka mengembalikan 0. Dalam versi sebelumnya, fungsi-fungsi ini memiliki nilai pengembalian jenis int daripada size_t.

_strncnt mengembalikan jumlah karakter dalam byte pertama count dari string strbyte tunggal . _wcsncnt mengembalikan jumlah karakter dalam karakter lebar pertama count dari string strkarakter lebar .

Keterangan

_mbsnbcnt dan _mbsnbcnt_l hitung jumlah byte yang ditemukan di karakter multibyte pertama count dari str. _mbsnbcnt dan _mbsnbcnt_l ganti mtob dan harus digunakan sebagai pengganti mtob.

_mbsnccnt dan _mbsnccnt_l hitung jumlah karakter yang ditemukan di byte pertama count dari str. Jika _mbsnccnt dan _mbsnccnt_l menemukan karakter null dalam byte kedua dari karakter byte ganda, byte pertama juga dianggap null dan tidak disertakan dalam nilai hitungan yang dikembalikan. _mbsnccnt dan _mbsnccnt_l ganti btom dan harus digunakan sebagai pengganti btom.

Jika str adalah NULL penunjuk atau adalah count 0, fungsi-fungsi ini memanggil handler parameter yang tidak valid seperti yang dijelaskan dalam Validasi parameter, errno diatur ke EINVAL, dan fungsi mengembalikan 0.

Nilai output dipengaruhi oleh pengaturan LC_CTYPE pengaturan kategori lokal. Untuk informasi selengkapnya, lihat setlocale . Versi fungsi-fungsi ini tanpa _l akhiran menggunakan lokal saat ini untuk perilaku tergantung lokal ini; versi dengan _l akhiran identik kecuali bahwa mereka menggunakan parameter lokal yang diteruskan sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

Rutin _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcsnbcnt _strncnt _mbsnbcnt _wcsncnt
_tcsnccnt _strncnt _mbsnbcnt n/a
_wcsncnt n/a n/a _mbsnbcnt
_wcsncnt n/a n/a _mbsnccnt
n/a n/a _mbsnbcnt_l _mbsnccnt_l

Persyaratan

Rutin Header yang diperlukan
_mbsnbcnt <mbstring.h>
_mbsnbcnt_l <mbstring.h>
_mbsnccnt <mbstring.h>
_mbsnccnt_l <mbstring.h>
_strncnt <tchar.h>
_wcsncnt <tchar.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_mbsnbcnt.c

#include  <mbstring.h>
#include  <stdio.h>

int main( void )
{
   unsigned char str[] = "This is a multibyte-character string.";
   unsigned int char_count, byte_count;
   char_count = _mbsnccnt( str, 10 );
   byte_count = _mbsnbcnt( str, 10 );
   if ( byte_count - char_count )
      printf( "The first 10 characters contain %d multibyte characters\n", char_count );
   else
      printf( "The first 10 characters are single-byte.\n");
}

Hasil

The first 10 characters are single-byte.

Baca juga

Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
_mbsnbcat, _mbsnbcat_l