_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Mengembalikan penunjuk ke karakter pertama dalam string tertentu yang tidak berada dalam string lain yang diberikan.

Penting

_mbsspnp dan _mbsspnp_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

char *_strspnp(
   const char *str,
   const char *charset
);
wchar_t *_wcsspnp(
   const unsigned wchar_t *str,
   const unsigned wchar_t *charset
);
unsigned char *_mbsspnp(
   const unsigned char *str,
   const unsigned char *charset
);
unsigned char *_mbsspnp_l(
   const unsigned char *str,
   const unsigned char *charset,
   _locale_t locale
);

Parameter

str
Untai (karakter) yang dihentikan null untuk dicari.

charset
Set karakter yang dihentikan null.

locale
Lokal untuk digunakan.

Nilai hasil

_strspnp, _wcsspnp, dan _mbsspnp kembalikan penunjuk ke karakter pertama di str yang bukan milik kumpulan karakter di charset. Masing-masing fungsi ini mengembalikan NULL jika str sepenuhnya terdiri dari karakter dari charset. Untuk setiap rutinitas ini, tidak ada nilai pengembalian yang dicadangkan untuk menunjukkan kesalahan.

Keterangan

Fungsi mengembalikan _mbsspnp penunjuk ke karakter multibyte yang merupakan karakter pertama dalam str yang bukan milik kumpulan karakter dalam charset. _mbsspnp mengenali urutan karakter multibyte sesuai dengan halaman kode multibyte yang saat ini digunakan. Pencarian tidak termasuk mengakhiri karakter null.

Jika atau strcharset adalah penunjuk null, fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi mengembalikan NULL dan mengatur errno ke EINVAL.

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

Pemetaan rutin teks generik

Rutinitas Tchar.h _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnp dan _wcsspnp merupakan karakter byte tunggal dan versi karakter luas dari _mbsspnp. _strspnp dan _wcsspnp berulah identik dengan _mbsspnp sebaliknya; mereka disediakan hanya untuk pemetaan ini dan tidak boleh digunakan karena alasan lain. Untuk informasi selengkapnya, lihat Menggunakan pemetaan teks generik dan Pemetaan teks generik.

_mbsspnp_l identik kecuali menggunakan parameter lokal yang diteruskan sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.

Persyaratan

Rutin Header yang diperlukan
_mbsspnp <mbstring.h>
_strspnp <tchar.h>
_wcsspnp <tchar.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_mbsspnp.c
#include <mbstring.h>
#include <stdio.h>

int main( void ) {
   const unsigned char string1[] = "cabbage";
   const unsigned char string2[] = "c";
   unsigned char *ptr = 0;
   ptr = _mbsspnp( string1, string2 );
   printf( "%s\n", ptr);
}

Hasil

abbage

Baca juga

Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
strspn, wcsspn, _mbsspn, _mbsspn_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l