Cómo obtener una subcadena en C

Ultima actualización en domingo 24º abr. 2022

substr c

Este tutorial introduce cómo obtener una subcadena a partir del valor del carácter en C. Hay diferentes métodos para obtener una subcadena a partir del carácter como memcpy() y strncpy().

strncpy() Función para obtener una subcadena en C

Sintaxis

	char *strncpy(char *str1, const char *str2, size_t n)
	

Parámetros

  • str1 – Cadena de destino. Cadena en la que se copian los primeros n caracteres de la cadena de origen str2.
  • str2 – Cadena de origen
  • n: número de caracteres de la cadena de origen que debe copiarse.

substring in c

	#include <stdio.h>
#include <string.h>
int main () {
   char str1[11]; 
   char str2[11];

   strcpy(str2, "Hola mundo");
   strncpy(str1, str2, 5);
   printf("String str1: %s\n", str1); 
   printf("String str2: %s\n", str2);

   return 0;
}
	

Salida

	String str1: Hola
String str2: Hola mundo
	

La función strncpy() es similar a la función strcpy(), excepto que copia solo el número especificado de caracteres de la cadena de origen a la cadena de destino.

substring c

memcpy() Función para obtener una subcadena en C

La función memcpy copia n caracteres del objeto señalado por s2 en el objeto señalado por s1. Devuelve un puntero al destino.

Sintaxis

	void *memcpy(void *s1, const void *s2, size_t n);
	

Parámetros

  • s1 – Una matriz donde se copiará s2.
  • s2 – La cadena a copiar.
  • n – El número de caracteres a copiar.

c string substring

	#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {
    int result;
    char original[50];
    char newcopy[50];
    strcpy(original, "Hola mundo");
    result = memcpy(newcopy, original, 5);
    newcopy[24] = 0;
    printf("%s\n", newcopy);
    printf("%s\n", original);
    return 0;
}
	

Salida

	Hola
Hola mundo