Biblioteca string.h



Tipo size_t

typedef long unsigned int size_t


void *memchr(const void *cadena, int car, size_t n);

Localiza la primera aparición del carácter car en los primeros n caracteres del objeto apuntado.

La función devuelve un puntero al carácter localizado o NULL si no lo encuentra.

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

int main()
{

   char cadena[] = "En un lugar de la mancha...";
   char *ptrChar; 

   ptrChar = (char *)memchr( cadena, 'd', sizeof(cadena));
   printf( "%s\n", cadena); 
   printf( "%s\n", ptrChar ); 

   return 0;

}


int memcmp(const void *valor1, const void *valor2, size_t n);

Compara los primeros n caracteres del objeto valor1, con los primeros n caracteres del objeto valor2.
Si valor1 es mayor que valor2, devuelve un valor mayor que cero
Si valor1 es menor que valor2, devuelve un valor inferior a cero
Si valor1 es igual a valor2, devuelve cero.

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

int main()
{

  int valor1 = 56;
  int valor2 = 89;
  
  int i;
  
  i = memcmp(&valor1, &valor2, sizeof(int));
  
  if(i < 0)
  printf("\nvalor1 (%d) es menor que valor2 (%d)\n",valor1,valor2);
 
  else if(i > 0)
  printf("\nvalor1 (%d) es mayor que valor2 (%d)\n",valor1,valor2);
 
  else
  printf("\nvalor1 es igual a valor2\n");
  

   return 0;

}



void *memcpy( void *destino, const void *fuente, size_t n);

Copia los primeros n caractéres del objeto fuente, al objeto destino.

La función devuelve el valor destino.

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

int main(void)
{
      int numero;
      int *ptrDestino;
      char caracter = 'a';
      ptrDestino = numero;

      memcpy(ptrDestino, &caracter, sizeof(char));

      printf("\n\nnumero: %d = %c", numero, caracter);
      return 0;

}


void * memmove(void *destino, const void *fuente, size_t n);

Copia los primeros n caracteres del objeto fuente al objeto destino, se asegura de que no estén superpuestos.



void *memset(void *destino, int c, size_t n);

Copia en los n primeros caracteres del objeto destino, el caracter c.

La función devuelve el valor de destino.

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

typedef struct Structura
{
int edad;
char nombre[25];
char puesto[25];

}miStruct;

int main()
{
       char byte = '0';
       miStruct *memoria;
       int i;
       memoria = (miStruct *)malloc(sizeof(miStruct));
       memset( memoria, byte, 5 );

       for( i=0; i<sizeof(miStruct); i++ )
             printf( "caracter[%d]=%c ", i, byte );
       printf( "\n" );

       free(memoria);

       return 0;
}


size_t strlen(const char *s);

Calcula el número de caracteres de una cadena, sin el carácter de fin de cadena.

Devuelve el número de caracteres contados.

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

int main()
{
      char *cadena = "Hola mundo!!";

      printf("\nLa longitud de la cadena \"%s\" es %lu\n", cadena, strlen(cadena));
     
      return 0;

}


strcat
strchr 
strcmp
strcoll 
strcpy 
strcspn 
strerror
strncat 
strncmp 
strncpy 
strpbrk 
strrchr 
strspn 
strstr 
strtok 
strxfrm