strcat_s
, wcscat_s
, _mbscat_s
, _mbscat_s_l
Bir dize ekler. bu , _mbscat
wcscat
sürümlerininstrcat
, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri vardır.
Önemli
_mbscat_s
ve _mbscat_s_l
Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
errno_t strcat_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
errno_t wcscat_s(
wchar_t *strDestination,
size_t numberOfElements,
const wchar_t *strSource
);
errno_t _mbscat_s(
unsigned char *strDestination,
size_t numberOfElements,
const unsigned char *strSource
);
errno_t _mbscat_s_l(
unsigned char *strDestination,
size_t numberOfElements,
const unsigned char *strSource,
_locale_t locale
);
template <size_t size>
errno_t strcat_s(
char (&strDestination)[size],
const char *strSource
); // C++ only
template <size_t size>
errno_t wcscat_s(
wchar_t (&strDestination)[size],
const wchar_t *strSource
); // C++ only
template <size_t size>
errno_t _mbscat_s(
unsigned char (&strDestination)[size],
const unsigned char *strSource
); // C++ only
template <size_t size>
errno_t _mbscat_s_l(
unsigned char (&strDestination)[size],
const unsigned char *strSource,
_locale_t locale
); // C++ only
Parametreler
strDestination
Null olarak sonlandırılan hedef dize arabelleği.
numberOfElements
Hedef dize arabelleğinin boyutu.
strSource
Null olarak sonlandırılan kaynak dize arabelleği.
locale
Kullanılacak yerel ayar.
Dönüş değeri
Başarılı olursa sıfır; hatayla ilgili bir hata kodu.
Hata koşulları
strDestination |
numberOfElements |
strSource |
Dönüş değeri | İçeriği strDestination |
---|---|---|---|---|
NULL veya sonlandırılmamış |
herhangi bir | herhangi bir | EINVAL |
değiştirilmedi |
herhangi bir | herhangi bir | NULL |
EINVAL |
strDestination[0] 0 olarak ayarlayın |
herhangi bir | 0 veya çok küçük | herhangi bir | ERANGE |
strDestination[0] 0 olarak ayarlayın |
Açıklamalar
İşlev sonuna strcat_s
eklenir strSource
strDestination
ve sonuçta elde edilen dizeyi null karakterle sonlandırır. öğesinin strSource
ilk karakteri, öğesinin sonlandırıcı null karakterinin strDestination
üzerine yazar. Kaynak ve hedef dizeler çakışıyorsa, öğesinin davranışı strcat_s
tanımlanmamıştır.
İkinci parametre, arabelleğinde kalan boyutu değil toplam boyutudur:
char buf[16];
strcpy_s(buf, 16, "Start");
strcat_s(buf, 16, " End"); // Correct
strcat_s(buf, 16 - strlen(buf), " End"); // Incorrect
wcscat_s
ve _mbscat_s
geniş karakterli ve çok baytlı sürümleridir strcat_s
. bağımsız değişkenleri ve dönüş değeri wcscat_s
geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbscat_s
çok baytlı karakter dizeleridir. Bu üç işlev aynı şekilde davranır.
Null işaretçiyse strDestination
veya null sonlandırılmamışsa veya işaretçiyse NULL
strSource
ya da hedef dize çok küçükse, Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler döndürülerek EINVAL
olarak EINVAL
ayarlanırerrno
.
Son eki olan _l
işlevlerin sürümleri aynı davranışa sahiptir, ancak geçerli yerel ayar yerine geçirilen yerel ayar parametresini kullanır. Daha fazla bilgi için bkz . Yerel Ayar.
C++'ta bu işlevlerin kullanılması şablon aşırı yüklemeleriyle basitleştirilir; aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkarabilir (boyut bağımsız değişkeni belirtme gereksinimini ortadan kaldırır) ve eski, güvenli olmayan işlevleri yeni ve güvenli karşılıklarıyla otomatik olarak değiştirebilir. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.
Bu işlevlerin hata ayıklama kitaplığı sürümleri önce arabelleği 0xFE ile doldurur. Bu davranışı devre dışı bırakmak için kullanın _CrtSetDebugFillThreshold
.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H Rutin |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS Tanımlanan |
_UNICODE Tanımlanan |
---|---|---|---|
_tcscat_s |
strcat_s |
_mbscat_s |
wcscat_s |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
strcat_s |
<string.h> |
wcscat_s |
<string.h> veya <wchar.h> |
_mbscat_s |
<mbstring.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
, , _mbscpy_s
wcscpy_s
içindeki strcpy_s
kod örneğine bakın.
Ayrıca bkz.
Dize işleme
strncat
, _strncat_l
, wcsncat
, _wcsncat_l
, _mbsncat
, _mbsncat_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
strncpy
, _strncpy_l
, wcsncpy
, _wcsncpy_l
, _mbsncpy
, _mbsncpy_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
strspn
, wcsspn
, _mbsspn
, _mbsspn_l
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin