string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la definición de macros, constantes, funciones y tipos y algunas operaciones de manipulación de memoria.
Las funciones declaradas en
string.h
se han hecho muy populares, por lo que están garantizadas para cualquier plataforma que soporte C. Sin embargo, existen algunos problemas de seguridad con estas funciones, como el desbordamiento de buffer (buffer overflow), que hacen que algunos programadores prefieran opciones más seguras frente a la portabilidad que estas funciones ofrecen. Además, las funciones para cadenas de caracteres sólo trabajan con conjuntos de caracteres ASCII o extensiones ASCII compatibles.
NOMBRES
|
PRÓPOSITO
|
EJEMPLO
|
||
Copia n bytes
entre dos áreas de memoria que no deben solaparse
|
|
|||
Copia n bytes
entre dos áreas de memoria; al contrario que
memcpy las áreas
pueden solaparse |
/* memmove example */
#include <stdio.h>
#include <string.h>
int
|
|||
Busca un valor a
partir de una dirección de memoria dada y devuelve un puntero a la primera
ocurrencia del valor buscado o NULL si no se
encuentra
|
/* memchr example */
#include <stdio.h>
#include <string.h>
int
|
|||
Compara los n
primeros caracteres de dos áreas de memoria
|
/* memcmp example */
#include <stdio.h>
#include <string.h>
int
|
|||
Sobre escribe un
área de memoria con un patrón de bytes dado
|
/* memset example */
#include <stdio.h>
#include <string.h>
int
|
|||
Añade una cadena
al final de otra
|
/* strcat example */
#include <stdio.h>
#include <string.h>
int
|
|||
Añade los n
primeros caracteres de una cadena al final de otra
|
/* strncat example */
#include <stdio.h>
#include <string.h>
int
|
|||
Localiza un
carácter en una cadena, buscando desde el principio
|
/* strchr example */
#include <stdio.h>
#include <string.h>
int
|
|||
Localiza un
carácter en una cadena, buscando desde el final
|
/* strrchr example */
#include <stdio.h>
#include <string.h>
int
|
|||
Compara dos
cadenas alfabéticamente (‘a’!=’A’)
|
#include <stdio.h>
#include <string.h>
int
|
|||
Compara los n
primeros caracteres de dos cadenas numéricamente ('a'!='A')
|
/* strncmp example */
#include <stdio.h>
#include <string.h>
int
|
|||
Compara dos
cadenas según la colación actual ('a'=='A')
|
#include <stdio.h> #include <string.h>
int main() {
char s1[5] = "Abeja"; char s2[5] = "abeja"; int i;
printf( "s1=%s\t", s1 ); printf( "s2=%s\n", s2 );
i = strcoll( s1, s2 ); printf( "s1 es " ); if( i < 0 ) printf( "menor que" ); else if( i > 0 ) printf( "mayor que" ); else printf( "igual a" ); printf( " s2\n" );
return 0; }
|
|||
Copia una cadena
en otra
|
/* strcpy example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[]="Sample
string";
char str2[40];
char str3[40];
strcpy (str2,str1);
strcpy (str3,"copy successful");
printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
return 0;
}
|
|||
Copia los n
primeros caracteres de una cadena en otra
|
/* strncpy example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[]= "To be or not to be";
char str2[40];
char str3[40];
/* copy to sized buffer (overflow safe): */
strncpy ( str2, str1, sizeof(str2) );
/* partial copy (only 5 chars): */
strncpy ( str3, str2, 5 );
str3[5] = '\0'; /* null character manually added */
puts (str1);
puts (str2);
puts (str3);
return 0;
}
|
|||
Devuelve la cadena
con el mensaje de error correspondiente al número de error dado
|
/* strerror example : error list */
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main ()
{
FILE * pFile;
pFile = fopen ("unexist.ent","r");
if (pFile == NULL)
printf ("Error opening file unexist.ent: %s\n",strerror(errno));
return 0;
}
|
|||
Devuelve la
longitud de una cadena
|
/* strlen example */
#include <stdio.h>
#include <string.h>
int main ()
{
char szInput[256];
printf ("Enter a sentence: ");
gets (szInput);
printf ("The sentence entered is %u characters long.\n",(unsigned)strlen(szInput));
return 0;
}
|
|||
Devuelve la
posición del primer carácter de una cadena que no coincide con ninguno de los
caracteres de otra cadena dada
|
/* strspn example */
#include <stdio.h>
#include <string.h>
int main ()
{
int i;
char strtext[] = "129th";
char cset[] = "1234567890";
i = strspn (strtext,cset);
printf ("The initial number has %d digits.\n",i);
return 0;
}
|
|||
Devuelve la
posición del primer carácter que coincide con alguno de los caracteres de
otra cadena dada
|
/* strcspn example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] = "fcba73";
char keys[] = "1234567890";
int i;
i = strcspn (str,keys);
printf ("The first number in str is at position %d.\n",i+1);
return 0;
}
|
|||
Encuentra la
primera ocurrencia de alguno de los caracteres de una cadena dada en otra
|
/* strpbrk example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] = "This is a sample string";
char key[] = "aeiou";
char * pch;
printf ("Vowels in '%s': ",str);
pch = strpbrk (str, key);
while (pch != NULL)
{
printf ("%c " , *pch);
pch = strpbrk (pch+1,key);
}
printf ("\n");
return 0;
}
|
|||
Busca una cadena
dentro de otra
|
/* strstr example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="This
is a simple string";
char * pch;
pch = strstr (str,"simple");
strncpy (pch,"sample",6);
puts (str);
return 0;
}
|
|||
Parte una cadena en una secuencia de tokens
|
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="-
This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL,
" ,.-");
}
return 0;
}
|
|||
Transforma una
cadena en su forma de colación (??)
|
#include <stdio.h> #include <string.h>
int main() {
char s2[7] = "abcdefg"; char s1[7]; int i;
i = strxfrm( s1, s2, 4 ); printf( "s2=%s\n", s2 ); printf( "s1=%s\tlonguitud=%d\n", s1, i );
return 0; }
|
|||
Invierte una
cadena
|
#include<stdio.h>
#include<string.h>
int main()
{
char str[50] =
"geeksforgeeks";
printf("The given string is =%s\n",str);
printf("After reversing string is
=%s",strrev(str));
return 0;
}
|
No hay comentarios.:
Publicar un comentario