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 6º 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()