char * strncpy( char * cadena_destino, const char * cadena_origen, int numero_caracteres )


Retorna:

 Copia una cadena y retorna la dirección de la cadena destino.

Descripción:

Copia la cadena_origen sobre la cadena_destino, a partir de su inicio (se perderá el contenido de anterior de esta última) un número determinado de caracteres.

La cadena_destino debe ser un dato de tipo (char *), de una longitud suficiente como para contener el texto de la cadena_origen.


char cadena1[50]="Texto inicial";
char cadena2[50]="12345";

MAIN_PROGRAM_CDIV
PRIVATE
 int 
  posicion_inicial, n_caracteres;

BEGIN_PROGRAM
  // Definimos el modo gráfico
  set_gfx(GFX_AUTODETECT_WINDOWED);

  // Definimos la resolución
  set_mode(m640x480);

  write(0,0,  0, 0, "Texto contenido en :");
  write(0,0, 10, 0, cadena2);
  write(0,0,192, 0, "Pulse [ESPACIO] para copiar otro texto en ");
  
  posicion_inicial = 6;
  n_caracteres     = 3;

  LOOP{
   if (key(_space))
   {
    strncpy(cadena2, &cadena1[posicion_inicial], n_caracteres); // Modifica cadena2
    cadena2[3] = '\0';
   }

   FRAME;
  }
END_PROGRAM

Este ejemplo utiliza la función strncpy() para copiar sobre la cadena2 el texto "ini" que corresponde a los 3 caracteres de cadena1 que empiezan el carácter.

Siendo siempre cadena_destino un dato de tipo (char *). Para unir varias cadenas de texto en una sola se debe utilizar la función strcat().


Ver: upper() - lower() - strdel() - strcat() - strlen() - strcmp() - strnchr() - strnstr() - strset() - chartoint()