Namespaces
Variants

wcscat, wcscat_s

From cppreference.net
< c ‎ | string ‎ | wide
Défini dans l'en-tête <wchar.h>
(1)
wchar_t * wcscat ( wchar_t * dest, const wchar_t * src ) ;
(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 un caractère nul. Le comportement est indéfini si le tableau de destination n'est pas suffisamment grand pour contenir à la fois str et dest ainsi que 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 altérer 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 contraintes actuellement installée :
  • src ou dest est un pointeur nul
  • destsz est zéro ou supérieur à RSIZE_MAX / sizeof ( wchar_t )
  • il n'y a pas de terminateur nul dans les premiers destsz caractères larges de dest
  • une troncation se produirait (l'espace disponible à la fin de dest ne pourrait pas contenir tous les caractères larges, y compris le terminateur nul, de src )
  • un chevauchement se produirait entre les chaînes source et destination
Comme pour toutes les fonctions à vérification de limites, wcscat_s n'est garantie 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__ à la constante entière 1 avant d'inclure <wchar.h> .

Table des matières

Paramètres

dest - pointeur vers la chaîne large terminée par un caractère nul à laquelle ajouter
src - pointeur vers la chaîne large terminée par un caractère nul à copier
destsz - nombre maximum de caractères à écrire, généralement la taille du tampon de destination

Valeur de retour

1) renvoie une copie de dest
2) renvoie zéro en cas de succès, renvoie une valeur non nulle 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

#include <wchar.h> 
#include <stdio.h>
#include <locale.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 C17 (ISO/CEI 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/CEI 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/CEI 9899:1999) :
  • 7.24.4.3.1 La fonction wcscat (p: 378)

Voir aussi

ajoute un certain nombre de caractères larges d'une chaîne large à une autre
(fonction)
concatène deux chaînes de caractères
(fonction)
(C95) (C11)
copie une chaîne large vers une autre
(fonction)