Share via


_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

Menginisialisasi karakter string ke karakter tertentu. Ada versi yang lebih aman dari fungsi-fungsi ini; lihat _strnset_s, , _wcsnset_s_strnset_s_l, _wcsnset_s_l, , . _mbsnset_s_l_mbsnset_s

Penting

_mbsnset dan _mbsnset_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 *_strnset(
   char *str,
   int c,
   size_t count
);
char *_strnset_l(
   char *str,
   int c,
   size_t count,
   _locale_t locale
);
wchar_t *_wcsnset(
   wchar_t *str,
   wchar_t c,
   size_t count
);
wchar_t *_wcsnset_l(
   wchar_t *str,
   wchar_t c,
   size_t count,
   _locale_t locale
);
unsigned char *_mbsnset(
   unsigned char *str,
   unsigned int c,
   size_t count
);
unsigned char *_mbsnset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parameter

str
String yang akan diubah.

c
Pengaturan karakter.

count
Jumlah karakter yang akan diatur.

locale
Lokal untuk digunakan.

Nilai hasil

Mengembalikan penunjuk ke string yang diubah.

Keterangan

Fungsi _strnset mengatur, paling banyak, karakter pertama count dari str ke c (dikonversi ke char). Jika count lebih besar dari panjang str, panjang str digunakan alih-alih count.

_wcsnset dan _mbsnset adalah versi karakter lebar dan multibyte-character dari _strnset. Argumen string dan nilai _wcsnset yang dikembalikan adalah string karakter lebar. Argumen string dan nilai _mbsnset pengembalian adalah string multibyte-character. Ketiga fungsi ini berulah secara identik jika tidak.

_mbsnset memvalidasi parameternya; jika str adalah penunjuk null, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter . Jika eksekusi diizinkan untuk melanjutkan, _mbsnset mengembalikan NULL dan mengatur errno ke EINVAL. _strnset dan _wcsnset tidak memvalidasi parameternya.

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

TCHAR. Rutinitas H _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcsnset _strnset _mbsnbset _wcsnset
_tcsnset_l _strnset_l _mbsnbset_l _wcsnset_l

Persyaratan

Rutin Header yang diperlukan
_strnset <string.h>
_strnset_l <tchar.h>
_wcsnset <string.h> atau <wchar.h>
_wcsnset_l <tchar.h>
_mbsnset, _mbsnset_l <mbstring.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_strnset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 characters of string to be *'s */
   printf( "Before: %s\n", string );
   _strnset( string, '*', 4 ); // C4996
   // Note: _strnset is deprecated; consider using _strnset_s
   printf( "After:  %s\n", string );
}
Before: This is a test
After:  **** is a test

Baca juga

Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l