wmemset() en C/C++ con ejemplos

La función wmemset() es una función integrada en C/C++ que copia un solo carácter ancho durante un número específico de tiempo en una array de caracteres anchos. Se define dentro del archivo de encabezado cwchar en C++.

Sintaxis :

wmemset(des, ch, count)

Parámetros : La función acepta tres parámetros que se describen a continuación.

  • des : especifica a la array de caracteres anchos para copiar el carácter ancho.
  • ch : Especifica el carácter ancho a copiar.
  • count : Especifica el número de veces que se va a copiar.

Valor devuelto : la función devuelve tres valores de la siguiente manera:

  • Si el recuento es mayor que 0, la función devuelve des .
  • Si el conteo es menor que 0, puede ocurrir una falla de segmentación .
  • Si cuenta es igual a cero, la función no hace nada.

Los siguientes programas ilustran la función anterior.
Programa 1 :

// C++ program to illustrate the
// wmemset() function when count is greater than 0
#include <cwchar>
#include <iostream>
using namespace std;
  
int main()
{
    wchar_t ch = L'G';
    wchar_t des[20];
    int count = 10;
  
    wmemset(des, ch, count);
    wcout << L"After copying " << ch << L" 10 times" << endl;
  
    for (int i = 0; i < count; i++)
        putwchar(des[i]);
  
    return 0;
}
Producción:

After copying G 10 times
GGGGGGGGGG

Programa 2 :

// C++ program to illustrate the
// wmemset() function when count is 0
#include <cwchar>
#include <iostream>
using namespace std;
  
int main()
{
    wchar_t ch = L'r';
    wchar_t des[20];
    int count = 0;
  
    wmemset(des, ch, count);
    wcout << L"After copying " << ch << L" 0 times" << endl;
  
    for (int i = 0; i < count; i++)
        putwchar(des[i]);
  
    return 0;
}
Producción:

After copying r 0 times

Programa 3
:

// C++ program to illustrate the
// wmemset() function when 
// count is less than 0
// returns a segmentation fault 
#include <cwchar>
#include <iostream>
using namespace std;
  
int main()
{
    wchar_t ch = L'q';
    wchar_t des[20];
    int count = -4;
  
    wmemset(des, ch, count);
    wcout << L"After copying " << ch << L" -4 times" << endl;
  
    for (int i = 0; i < count; i++)
        putwchar(des[i]);
  
    return 0;
}

Producción:

Runtime Errors:
Segmentation Fault (SIGSEGV)

Publicación traducida automáticamente

Artículo escrito por RICHIK BHATTACHARJEE y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *