_strnset_s
, , _wcsnset_s
_strnset_s_l
, _wcsnset_s_l
, _mbsnset_s
, _mbsnset_s_l
, _tcsnset_s
, , _tcsncset_s
,_tcsncset_s_l
Menginisialisasi karakter string ke karakter tertentu. Versi , , _wcsnset
_strnset_l
, _wcsnset_l
, , _mbsnset
, ini _mbsnset_l
memiliki peningkatan keamanan, seperti yang dijelaskan dalam Fitur keamanan di CRT._strnset
Penting
_mbsnset_s
dan _mbsnset_s_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.
Untuk _tcsnset_s
, _tcsnset_s_l
, _tcsncset_s
, dan _tcsncset_s_l
lihat Pemetaan fungsi Generik-teks.
Sintaks
errno_t _strnset_s(
char *str,
size_t numberOfElements,
int c,
size_t count
);
errno_t _strnset_s_l(
char *str,
size_t numberOfElements,
int c,
size_t count,
_locale_t locale
);
errno_t _wcsnset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count
);
errno_t _wcsnset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count,
_locale_t locale
);
errno_t _mbsnset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count
);
errno_t _mbsnset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count,
_locale_t locale
);
Parameter
str
String yang akan diubah.
numberOfElements
Ukuran str
buffer.
c
Pengaturan karakter.
count
Jumlah karakter yang akan diatur.
locale
Lokal untuk digunakan.
Nilai hasil
Nol jika berhasil, jika tidak, kode kesalahan.
Fungsi-fungsi ini memvalidasi argumennya. Jika str
bukan string yang dihentikan null yang valid atau argumen ukuran kurang dari atau sama dengan 0, maka handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini mengembalikan kode kesalahan dan diatur errno
ke kode kesalahan tersebut. Kode kesalahan default adalah EINVAL
jika nilai yang lebih spesifik tidak berlaku.
Keterangan
Fungsi-fungsi ini diatur, paling banyak, karakter pertama count
dari str
ke c
. Jika count
lebih besar dari ukuran str
, ukuran str
digunakan alih-alih count
. Kesalahan terjadi jika count
lebih besar dari numberOfElements
dan kedua parameter tersebut lebih besar dari ukuran str
.
_wcsnset_s
dan _mbsnset_s
adalah versi karakter lebar dan multibyte-character dari _strnset_s
. Argumen _wcsnset_s
string adalah string karakter lebar; yang _mbsnset_s
merupakan string multibyte-character. Ketiga fungsi ini berulah secara identik jika tidak.
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.
Versi pustaka debug dari fungsi-fungsi ini terlebih dahulu mengisi buffer dengan 0xFE
. Untuk menonaktifkan perilaku ini, gunakan _CrtSetDebugFillThreshold
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan fungsi teks generik
Fungsi dalam tchar.h
kolom memetakan ke fungsi di kolom lain tergantung pada kumpulan karakter yang ditentukan pada waktu kompilasi.
tchar.h fungsi |
_UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcsnset_s |
_strnset_s |
_mbsnbset_s |
_wcsnset_s |
_tcsnset_s_l |
_strnset_s_l |
_mbsnbset_s_l |
_wcsnset_s_l |
_tcsncset_s |
_strnset_s |
_mbsnset_s |
_wcsnset_s |
_tcsncset_s_l |
_strnset_s_l |
_mbsnset_s_l |
_wcsnset_s_l |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_strnset_s |
<string.h> |
_strnset_s_l |
<tchar.h> |
_wcsnset_s |
<string.h> atau <wchar.h> |
_wcsnset_s_l |
<tchar.h> |
_mbsnset_s , _mbsnset_s_l |
<mbstring.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_strnset_s.c
#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_s( string, sizeof(string), '*', 4 );
printf( "After: %s\n", string );
}
Before: This is a test
After: **** is a test
Lihat 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