wcscat, wcscat_s
De fr.cppreference.net
| Défini dans l'en-tête <wchar.h>
|
||
wchar_t* wcscat( wchar_t* dest, const wchar_t* src );
|
(1) | (depuis C95) (jusqu'à C99) |
wchar_t* wcscat( wchar_t* restrict dest, const wchar_t* restrict src );
|
(depuis C99) | |
errno_t wcscat_s( wchar_t* restrict dest, rsize_t destsz,
const wchar_t* restrict src );
|
(2) | (depuis C11) |
1) Ajoute une copie de la chaîne large pointée par
src à la fin de la chaîne large pointée par dest. Le caractère large src[0] remplace le terminateur nul à la fin de dest. La chaîne large résultante est terminée par null. Le comportement est indéfini si le tableau de destination n'est pas assez grand pour contenir le contenu de src et dest et le caractère large nul de terminaison. Le comportement est indéfini si les chaînes se chevauchent.2) Identique à (1), sauf qu'il peut écraser le reste du tableau de destination (à partir du dernier caractère écrit dans
destsz) avec des valeurs non spécifiées et que les erreurs suivantes sont détectées à l'exécution et appellent la fonction gestionnaire de contrainte actuellement installée :
srcoudestest un pointeur nuldestszest zéro ou supérieur àRSIZE_MAX / sizeof(wchar_t)- il n'y a pas de terminateur nul dans les
destszpremiers caractères larges dedest - une troncature se produirait (l'espace disponible à la fin de
destne pourrait pas contenir chaque caractère large, y compris le terminateur nul, desrc) - un chevauchement se produirait entre la chaîne source et la chaîne de destination
Comme pour toutes les fonctions vérifiées par bornes,
wcscat_s n'est garanti d'être disponible que si __STDC_LIB_EXT1__ est défini par l'implémentation et si l'utilisateur définit __STDC_WANT_LIB_EXT1__ comme la constante entière 1 avant d'inclure <wchar.h>.Paramètres
| dest | - | pointeur vers la chaîne large terminée par null à laquelle ajouter |
| src | - | pointeur vers la chaîne large terminée par null à partir de laquelle copier |
| destsz | - | nombre maximal de caractères à écrire, généralement la taille du tampon de destination |
Valeur de retour
1) renvoie une copie de
dest2) renvoie zéro en cas de succès, renvoie non nul en cas d'erreur. De plus, en cas d'erreur, écrit
L'\0' dans dest[0] (sauf si dest est un pointeur nul ou destsz est zéro ou supérieur à RSIZE_MAX / sizeof(wchar_t)).Exemple
Exécuter ce code
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t str[50] = L"Земля, прощай.";
wcscat(str, L" ");
wcscat(str, L"В добрый путь.");
setlocale(LC_ALL, "en_US.utf8");
printf("%ls", str);
}
Sortie :
Земля, прощай. В добрый путь.
Références
- Norme C23 (ISO/IEC 9899:2024) :
- 7.31.4.3.1 La fonction wcscat (p: 439)
- K.3.9.3.2.1 La fonction wcscat_s (p: 665-666)
- Norme C17 (ISO/IEC 9899:2018) :
- 7.29.4.3.1 La fonction wcscat (p: 315)
- K.3.9.2.2.1 La fonction wcscat_s (p: 466)
- Norme C11 (ISO/IEC 9899:2011) :
- 7.29.4.3.1 La fonction wcscat (p: 432)
- K.3.9.2.2.1 La fonction wcscat_s (p: 642-643)
- Norme C99 (ISO/IEC 9899:1999) :
- 7.24.4.3.1 La fonction wcscat (p: 378)
Voir aussi
(C95)(C11) |
ajoute un certain nombre de caractères larges d'une chaîne large à une autre (fonction) |
(C11) |
concatène deux chaînes (fonction) |
(C95)(C11) |
copie une chaîne large dans une autre (fonction) |
Documentation C++ pour wcscat
| |