SlideShare una empresa de Scribd logo
NOMBRE: ¿?
AULA: BLOQUE C SANGOLQUI C304
FECHA: 28 – Julio – 2014
NRC: 4258
FUNDAMENTOS DE PROGRAMACIÓN
TÍTULO: Librería “ string.h “
C pone a nuestra disposición una librería centrada en el tratamiento de cadenas, la librería
string.h, es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene las
funciones y tipos de utilidad para trabajar con cadenas de caracteres. Con ella podremos realizar
prácticamente cualquier tipo de operación con cadenas. También cuenta con procedimientos
para manejar memoria.
Las funciones declaradas en string.h se han hecho muy populares, por lo que están garantizadas
para cualquier plataforma que soporte C. Además, las funciones para cadenas de caracteres sólo
trabajan con conjuntos de caracteres ASCII o extensiones ASCII compatibles.
Constantes y tipos
NOMBRE DESCRIPCIÓN
NULL
Macro que representa la constante puntero nulo; representa un valor de puntero
que no apunta a ninguna dirección válida de objeto alguno en memoria
size_t Tipo entero sin signo (positivo); es el tipo devuelto por el operador sizeof
Funciones
NOMBRES DESCRIPCIÓN
memcpy Copia n bytes entre dos áreas de memoria que no deben solaparse
memmove
Copia n bytes entre dos áreas de memoria; al contrario que memcpy las áreas
pueden solaparse
memchr
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
memcmp Compara los n primeros caracteres de dos áreas de memoria
memset Sobre escribe un área de memoria con un patrón de bytes dado
strcat Añade una cadena al final de otra
strncat Añade los n primeros caracteres de una cadena al final de otra
strchr Localiza un carácter en una cadena, buscando desde el principio
strrchr Localiza un carácter en una cadena, buscando desde el final
strcmp Compara dos cadenas alfabéticamente ('a'!='a')
strncmp Compara los n primeros caracteres de dos cadenas numéricamente ('a'!='a')
strcoll Compara dos cadenas según la colación actual ('a'=='A')
strcpy Copia una cadena en otra
strncpy Copia los n primeros caracteres de una cadena en otra
strerror
Devuelve la cadena con el mensaje de error correspondiente al número de error
dado
strlen Devuelve la longitud de una cadena
strspn
Devuelve la posición del primer carácter de una cadena que no coincide con
ninguno de los caracteres de otra cadena dada
strcspn
Devuelve la posición del primer carácter que coincide con alguno de los
caracteres de otra cadena dada
strpbrk
Encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada
en otra
strstr Busca una cadena dentro de otra
strtok Parte una cadena en una secuencia de tokens
strxfrm Transforma una cadena en su forma de colación (??)
strrev Invierte una cadena
Extensiones para C SIO
NOMBRE DESCRIPCIÓN ESPECIFICACIÓN
strdup
Hace un duplicado de la cadena dada
reservando dinámicamente la memoria
necesaria
POSIX; originalmente una extensión BSD
strcpy s Variante de strcpy que verifica los límites ISO/IEC WDTR 24731
mempcpy
Variante de memcpy que devuelve un
puntero al byte siguiente al último byte
escrito
GNU
memccpy
Variante de memcpy que para al
encontrar un byte determinado
UNIX 98?
strerror r Análogo a strerror_r(thread-safe) GNU, POSIX
strlcpy Variante de strcpy que verifica los límites
originalmenteOpenBSD, actualmente
tambiénFreeBSD, Solaris, OS X
strtok r Versión thread-safe destrtok POSIX
strsignal
Análogamente a strerror, devuelve la
cadena representación de la
señalsig (no thread safe)
BSDs, Solaris, Linux
Cadena de Caracteres
Una cadena es un conjunto de caracteres, el cual cada caracter se encuentra en una posición
determinada dentro de la cadena. Se puede utilizar una cadena general o una cadena fija de un
número determinado de caracteres, estas se declaran en el siguiente formato:
Ejemplo:
char* var_cadena; // declaración de una cadena de hasta 255 caracteres
char cadena[N]; // declaración de una cadena de N caracteres
La librería de manejo de cadenas string.h es un conjunto de funciones útiles para manipulación
de datos de cadenas, entre ellas tenemos:
Ejemplos:
#include <stdio.h>
#include <string.h>
char completo [80];
char nombre[32] = "Pedro";
char apellidos [32] = "Medario Arenas";
main()
{
/* Construye el nombre completo */
strcpy ( completo, nombre ); /* completo <- "Pedro" */
strcat ( completo, " "); /* completo <- "Pedro " */
strcat ( completo, apellidos ); /* completo <- "Pedro
Medario Arenas" */
printf ( "El nombre completo es %sn", completo );
}
Función strlen()
Calcula la longitud de una cadena.
Sintaxis:
size_t strlen(const char *s);
strlen calcula la longitud de la cadena s.
Valor de retorno:
strlen devuelve el número de caracteres que hay en s, excluyendo el carácter nulo de terminación
de cadena.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena = "Una cadena C++ termina con cero";
cout << "La cadena: [" << cadena << "] tiene "
<< {f:strlen}(cadena) << " caracteres" << endl;
return 0;
}
Función strcpy()
Copia una cadena en otra.
Sintaxis:
char *strcpy(char *dest, const char *orig);
Copia la cadena orig a dest, la copia de caracteres se detendrá cuando sea copiado el carácter
nulo.
Valor de retorno:
strcpy devuelve el puntero dest.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena = "Cadena ejemplo";
char cad[32];
cout << strcpy(cad, cadena) << endl;
cout << cad << endl;
return 0;
}
Función strcmp()
Compara dos cadenas.
Sintaxis:
int strcmp(char *cad1, const char *cad2);
Compara las dos cadenas, si la cad1 es mayor que cad2 el resultado será mayor de 0, si cad1 es
menor que cad2, el resultado será menor de 0, si son iguales, el resultado será 0.
La comparación se realiza carácter a carácter. Mientras los caracteres comparados sean iguales,
secontinúa con el siguientecarácter. Cuando se encuentran caracteres distintos, aquél que tenga
un código ASCII menor pertenecerá a la cadena menor. Por supuesto, si las cadenas son iguales
hasta que una de ellas se acaba, la más corta es la menor.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena1 = "Cadena ejemplo 1";
char *cadena2 = "Cadena ejemplo 2";
char *cadena3 = "Cadena";
char *cadena4 = "Cadena";
if(strcmp(cadena1, cadena2) < 0)
cout << cadena1 << " es menor que " << cadena2 << endl;
else if(strcmp(cadena1, cadena2) > 0)
cout << cadena1 << " es menor que " << cadena2 << endl;
else
cout << cadena1 << " es igual que " << cadena2 << endl;
cout << strcmp(cadena3, cadena2) << endl;
cout << strcmp(cadena3, cadena4) << endl;
return 0;
}
Función strcat()
Añade o concatena una cadena a otra.
Sintaxis:
char *strcat(char *dest, const char *orig);
strcat añade una copia de orig al finalde dest. La longitud de la cadenaresultante será strlen(dest)
+ strlen(orig).
Valor de retorno:
strcat devuelve un puntero a la cadena concatenada.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena1 = "Cadena de";
char *cadena2 = " ejemplo";
char cadena3[126];
strcpy(cadena3, cadena1);
cout << strcat(cadena3, cadena2) << endl;
return 0;
}
Función strncpy()
Copia un determinado número de caracteres de una cadena en otra.
Sintaxis:
char *strncpy(char *dest, const char *orig, size_t maxlong);
Copia maxlong caracteres de la cadena orig a dest, si hay más caracteres se ignoran, si hay menos
se rellenará con caracteres nulos. La cadena dest no se terminará con nulo si la longitud de orig
es maxlong o más.
Valor de retorno:
strncpy devuelve el puntero dest.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena = "Cadena ejemplo";
char cad[32];
strncpy(cad, cadena, 4);
cad[4] = '0';
cout << cad << endl;
return 0;
}
Función strncmp()
Compara dos porciones de cadenas.
Sintaxis:
int strncmp(char *cad1, const char *cad2, size_t maxlong);
Compara las dos cadenas igual que strcmp, pero sólo se comparan los primeros maxlong
caracteres.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena1 = "Cadena ejemplo 1";
char *cadena2 = "Cadena ejemplo 2";
char *cadena3 = "Cadena";
char *cadena4 = "Cadena";
if(strncmp(cadena1, cadena2, 6) < 0)
cout << cadena1 << " es menor que " << cadena2 << endl;
else if(strncmp(cadena1, cadena2, 6) > 0)
cout << cadena1 << " es menor que " << cadena2 << endl;
else
cout << cadena1 << " es igual que " << cadena2 << endl;
cout << strncmp(cadena3, cadena2, 5) << endl;
cout << strncmp(cadena3, cadena4, 4) << endl;
return 0;
}
Función strncat()
Añade o concatena una porción de una cadena a otra.
Sintaxis:
char *strncat(char *dest, const char *orig, size_t maxlong);
strncat añade como máximo maxlong caracteres de la cadena orig al final de dest, y después
añade el carácter nulo. La longitud de la cadena resultante será strlen(dest) + maxlong.
Valor de retorno:
strncat devuelve un puntero a la cadena concatenada.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char *cadena1 = "Cadena de";
char *cadena2 = " ejemplo";
char cadena3[126];
strcpy(cadena3, cadena1);
cout << strncat(cadena3, cadena2, 5) << endl;
Función strtok()
Busca dentro de una cadena conjuntos de caracteres o símbolos (tokens) separados por
delimitadores.
Sintaxis:
char *strtok(char *s1, const char *s2);
strtok considera la cadena s1como una listade símbolos separados por delimitadores de laforma
de s2.
La primera llamada a strtok devuelve un puntero al primer carácter del primer símbolo de s1 e
inserta un carácter nulo a continuación del símbolo retornado. Las siguientes llamadas,
especificando null como primer argumento, siguen dando símbolos hasta que no quede ninguno.
El separador, s2, puede ser diferente para cada llamada.
Valor de retorno:
strtok devuelve un puntero al símbolo extraído, oNULL cuando no quedan símbolos.
Ejemplo:
#include <cstring>
#include <iostream>
using namespace std;
int main() {
char entrada[32] = "abc,d,efde,ew,231";
char *p;
// La primera llamada con entrada
p = strtok(entrada, ",");
if(p) cout << p << endl;
// Las siguientes llamadas con NULL
while(p) {
p = strtok(NULL, ",");
if(p) cout << p << endl;
}
return 0;
}
Bibliografía
a. http://programacion1-teoria.wikispaces.com/Lenguaje+C
b. http://teoria-de-programacion.globered.com/categoria.asp?idcat=33
c. http://c.conclase.net/curso/?cap=006#inicio
d. http://www.taringa.net/posts/ciencia-educacion/15391497/C---
Declaracion-de-variables.html
e. http://ccodigo.wordpress.com/tag/string-h/
f. http://sopa.dis.ulpgc.es/fso/cpp/intro_c/introc53.htm
g. http://fcqi.tij.uabc.mx/usuarios/cgaxiola/prog_p7.pdf
h. http://es.wikipedia.org/wiki/String.h
i. http://arduino.cc/en/pmwiki.php?n=Tutorial/TextString
j. http://c.conclase.net/curso/?cap=902f

Más contenido relacionado

La actualidad más candente

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
Luis Igoodbad
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicas
Carlos M. Sandoval
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
Valentin Manzano
 
Colas
ColasColas
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
pedreror1
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
ashildir
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
Alvaro Andrade Enriquez
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
jairofr97
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
TAtiizz Villalobos
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
Blanca Parra
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
Carlos Gabriel Tipula Yanapa
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
Gustavo Davila
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
arrietaevelio
 
Arreglos
ArreglosArreglos
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
José Antonio Sandoval Acosta
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
junito86
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
Rosbelia Balza
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
Fabiola Valerio Ramirez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
Juan Astudillo
 

La actualidad más candente (20)

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicas
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Colas
ColasColas
Colas
 
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Arreglos
ArreglosArreglos
Arreglos
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 

Similar a Fundamentos de programación librería string C++

Funciones str
Funciones strFunciones str
Funciones str
Sharliemaster
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
Tutorial Html
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Taller 1 de estructuras
Taller 1 de estructurasTaller 1 de estructuras
Taller 1 de estructuras
Paola Rodriguez
 
Cadenas
CadenasCadenas
Funciones de Cadenas/ Computación para ingenieros
Funciones de Cadenas/ Computación para ingenierosFunciones de Cadenas/ Computación para ingenieros
Funciones de Cadenas/ Computación para ingenieros
Maria jose Ramirez perez
 
Códigos c++
Códigos c++Códigos c++
Códigos c++
Marthaa Hdz
 
Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++
Leonardo Torres
 
Tipo de Operadores
Tipo de OperadoresTipo de Operadores
Tipo de Operadores
Michelle Peña
 
Codigos C+++
Codigos C+++Codigos C+++
Codigos C+++
Michelle Peña
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
Andy Otañez
 
30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas
José M. Padilla
 
Libreria c++
Libreria c++Libreria c++
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
Marco Antonio Plascencia
 
Éxito y Fracáso
Éxito y FracásoÉxito y Fracáso
Éxito y Fracáso
Dalynver Yanchapaxi
 
INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS
Dalynver Yanchapaxi
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenas
guest506dc9
 
Librerias dee c_
Librerias dee c_Librerias dee c_
Librerias dee c_
Maztherprozh
 

Similar a Fundamentos de programación librería string C++ (20)

Funciones str
Funciones strFunciones str
Funciones str
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Taller 1 de estructuras
Taller 1 de estructurasTaller 1 de estructuras
Taller 1 de estructuras
 
Cadenas
CadenasCadenas
Cadenas
 
Funciones de Cadenas/ Computación para ingenieros
Funciones de Cadenas/ Computación para ingenierosFunciones de Cadenas/ Computación para ingenieros
Funciones de Cadenas/ Computación para ingenieros
 
Códigos c++
Códigos c++Códigos c++
Códigos c++
 
Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++
 
Tipo de Operadores
Tipo de OperadoresTipo de Operadores
Tipo de Operadores
 
Codigos C+++
Codigos C+++Codigos C+++
Codigos C+++
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
 
30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas
 
Libreria c++
Libreria c++Libreria c++
Libreria c++
 
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
 
Éxito y Fracáso
Éxito y FracásoÉxito y Fracáso
Éxito y Fracáso
 
INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenas
 
Librerias dee c_
Librerias dee c_Librerias dee c_
Librerias dee c_
 

Último

leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
lizeth671681
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 

Último (20)

leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 

Fundamentos de programación librería string C++

  • 1. NOMBRE: ¿? AULA: BLOQUE C SANGOLQUI C304 FECHA: 28 – Julio – 2014 NRC: 4258 FUNDAMENTOS DE PROGRAMACIÓN TÍTULO: Librería “ string.h “ C pone a nuestra disposición una librería centrada en el tratamiento de cadenas, la librería string.h, es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene las funciones y tipos de utilidad para trabajar con cadenas de caracteres. Con ella podremos realizar prácticamente cualquier tipo de operación con cadenas. También cuenta con procedimientos para manejar memoria. Las funciones declaradas en string.h se han hecho muy populares, por lo que están garantizadas para cualquier plataforma que soporte C. Además, las funciones para cadenas de caracteres sólo trabajan con conjuntos de caracteres ASCII o extensiones ASCII compatibles. Constantes y tipos NOMBRE DESCRIPCIÓN NULL Macro que representa la constante puntero nulo; representa un valor de puntero que no apunta a ninguna dirección válida de objeto alguno en memoria size_t Tipo entero sin signo (positivo); es el tipo devuelto por el operador sizeof
  • 2. Funciones NOMBRES DESCRIPCIÓN memcpy Copia n bytes entre dos áreas de memoria que no deben solaparse memmove Copia n bytes entre dos áreas de memoria; al contrario que memcpy las áreas pueden solaparse memchr 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 memcmp Compara los n primeros caracteres de dos áreas de memoria memset Sobre escribe un área de memoria con un patrón de bytes dado strcat Añade una cadena al final de otra strncat Añade los n primeros caracteres de una cadena al final de otra strchr Localiza un carácter en una cadena, buscando desde el principio strrchr Localiza un carácter en una cadena, buscando desde el final strcmp Compara dos cadenas alfabéticamente ('a'!='a') strncmp Compara los n primeros caracteres de dos cadenas numéricamente ('a'!='a') strcoll Compara dos cadenas según la colación actual ('a'=='A') strcpy Copia una cadena en otra
  • 3. strncpy Copia los n primeros caracteres de una cadena en otra strerror Devuelve la cadena con el mensaje de error correspondiente al número de error dado strlen Devuelve la longitud de una cadena strspn Devuelve la posición del primer carácter de una cadena que no coincide con ninguno de los caracteres de otra cadena dada strcspn Devuelve la posición del primer carácter que coincide con alguno de los caracteres de otra cadena dada strpbrk Encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada en otra strstr Busca una cadena dentro de otra strtok Parte una cadena en una secuencia de tokens strxfrm Transforma una cadena en su forma de colación (??) strrev Invierte una cadena Extensiones para C SIO NOMBRE DESCRIPCIÓN ESPECIFICACIÓN strdup Hace un duplicado de la cadena dada reservando dinámicamente la memoria necesaria POSIX; originalmente una extensión BSD
  • 4. strcpy s Variante de strcpy que verifica los límites ISO/IEC WDTR 24731 mempcpy Variante de memcpy que devuelve un puntero al byte siguiente al último byte escrito GNU memccpy Variante de memcpy que para al encontrar un byte determinado UNIX 98? strerror r Análogo a strerror_r(thread-safe) GNU, POSIX strlcpy Variante de strcpy que verifica los límites originalmenteOpenBSD, actualmente tambiénFreeBSD, Solaris, OS X strtok r Versión thread-safe destrtok POSIX strsignal Análogamente a strerror, devuelve la cadena representación de la señalsig (no thread safe) BSDs, Solaris, Linux Cadena de Caracteres Una cadena es un conjunto de caracteres, el cual cada caracter se encuentra en una posición determinada dentro de la cadena. Se puede utilizar una cadena general o una cadena fija de un número determinado de caracteres, estas se declaran en el siguiente formato: Ejemplo: char* var_cadena; // declaración de una cadena de hasta 255 caracteres char cadena[N]; // declaración de una cadena de N caracteres
  • 5. La librería de manejo de cadenas string.h es un conjunto de funciones útiles para manipulación de datos de cadenas, entre ellas tenemos:
  • 6. Ejemplos: #include <stdio.h> #include <string.h> char completo [80]; char nombre[32] = "Pedro"; char apellidos [32] = "Medario Arenas"; main() { /* Construye el nombre completo */ strcpy ( completo, nombre ); /* completo <- "Pedro" */ strcat ( completo, " "); /* completo <- "Pedro " */ strcat ( completo, apellidos ); /* completo <- "Pedro Medario Arenas" */ printf ( "El nombre completo es %sn", completo ); } Función strlen() Calcula la longitud de una cadena. Sintaxis: size_t strlen(const char *s); strlen calcula la longitud de la cadena s. Valor de retorno: strlen devuelve el número de caracteres que hay en s, excluyendo el carácter nulo de terminación de cadena. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena = "Una cadena C++ termina con cero"; cout << "La cadena: [" << cadena << "] tiene " << {f:strlen}(cadena) << " caracteres" << endl; return 0; }
  • 7. Función strcpy() Copia una cadena en otra. Sintaxis: char *strcpy(char *dest, const char *orig); Copia la cadena orig a dest, la copia de caracteres se detendrá cuando sea copiado el carácter nulo. Valor de retorno: strcpy devuelve el puntero dest. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena = "Cadena ejemplo"; char cad[32]; cout << strcpy(cad, cadena) << endl; cout << cad << endl; return 0; } Función strcmp() Compara dos cadenas. Sintaxis: int strcmp(char *cad1, const char *cad2); Compara las dos cadenas, si la cad1 es mayor que cad2 el resultado será mayor de 0, si cad1 es menor que cad2, el resultado será menor de 0, si son iguales, el resultado será 0. La comparación se realiza carácter a carácter. Mientras los caracteres comparados sean iguales, secontinúa con el siguientecarácter. Cuando se encuentran caracteres distintos, aquél que tenga un código ASCII menor pertenecerá a la cadena menor. Por supuesto, si las cadenas son iguales hasta que una de ellas se acaba, la más corta es la menor.
  • 8. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 = "Cadena ejemplo 1"; char *cadena2 = "Cadena ejemplo 2"; char *cadena3 = "Cadena"; char *cadena4 = "Cadena"; if(strcmp(cadena1, cadena2) < 0) cout << cadena1 << " es menor que " << cadena2 << endl; else if(strcmp(cadena1, cadena2) > 0) cout << cadena1 << " es menor que " << cadena2 << endl; else cout << cadena1 << " es igual que " << cadena2 << endl; cout << strcmp(cadena3, cadena2) << endl; cout << strcmp(cadena3, cadena4) << endl; return 0; } Función strcat() Añade o concatena una cadena a otra. Sintaxis: char *strcat(char *dest, const char *orig); strcat añade una copia de orig al finalde dest. La longitud de la cadenaresultante será strlen(dest) + strlen(orig). Valor de retorno: strcat devuelve un puntero a la cadena concatenada. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 = "Cadena de"; char *cadena2 = " ejemplo"; char cadena3[126]; strcpy(cadena3, cadena1); cout << strcat(cadena3, cadena2) << endl; return 0; }
  • 9. Función strncpy() Copia un determinado número de caracteres de una cadena en otra. Sintaxis: char *strncpy(char *dest, const char *orig, size_t maxlong); Copia maxlong caracteres de la cadena orig a dest, si hay más caracteres se ignoran, si hay menos se rellenará con caracteres nulos. La cadena dest no se terminará con nulo si la longitud de orig es maxlong o más. Valor de retorno: strncpy devuelve el puntero dest. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena = "Cadena ejemplo"; char cad[32]; strncpy(cad, cadena, 4); cad[4] = '0'; cout << cad << endl; return 0; } Función strncmp() Compara dos porciones de cadenas. Sintaxis: int strncmp(char *cad1, const char *cad2, size_t maxlong); Compara las dos cadenas igual que strcmp, pero sólo se comparan los primeros maxlong caracteres. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 = "Cadena ejemplo 1"; char *cadena2 = "Cadena ejemplo 2"; char *cadena3 = "Cadena";
  • 10. char *cadena4 = "Cadena"; if(strncmp(cadena1, cadena2, 6) < 0) cout << cadena1 << " es menor que " << cadena2 << endl; else if(strncmp(cadena1, cadena2, 6) > 0) cout << cadena1 << " es menor que " << cadena2 << endl; else cout << cadena1 << " es igual que " << cadena2 << endl; cout << strncmp(cadena3, cadena2, 5) << endl; cout << strncmp(cadena3, cadena4, 4) << endl; return 0; } Función strncat() Añade o concatena una porción de una cadena a otra. Sintaxis: char *strncat(char *dest, const char *orig, size_t maxlong); strncat añade como máximo maxlong caracteres de la cadena orig al final de dest, y después añade el carácter nulo. La longitud de la cadena resultante será strlen(dest) + maxlong. Valor de retorno: strncat devuelve un puntero a la cadena concatenada. Ejemplo: #include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 = "Cadena de"; char *cadena2 = " ejemplo"; char cadena3[126]; strcpy(cadena3, cadena1); cout << strncat(cadena3, cadena2, 5) << endl; Función strtok() Busca dentro de una cadena conjuntos de caracteres o símbolos (tokens) separados por delimitadores. Sintaxis:
  • 11. char *strtok(char *s1, const char *s2); strtok considera la cadena s1como una listade símbolos separados por delimitadores de laforma de s2. La primera llamada a strtok devuelve un puntero al primer carácter del primer símbolo de s1 e inserta un carácter nulo a continuación del símbolo retornado. Las siguientes llamadas, especificando null como primer argumento, siguen dando símbolos hasta que no quede ninguno. El separador, s2, puede ser diferente para cada llamada. Valor de retorno: strtok devuelve un puntero al símbolo extraído, oNULL cuando no quedan símbolos. Ejemplo: #include <cstring> #include <iostream> using namespace std; int main() { char entrada[32] = "abc,d,efde,ew,231"; char *p; // La primera llamada con entrada p = strtok(entrada, ","); if(p) cout << p << endl; // Las siguientes llamadas con NULL while(p) { p = strtok(NULL, ","); if(p) cout << p << endl; } return 0; } Bibliografía a. http://programacion1-teoria.wikispaces.com/Lenguaje+C b. http://teoria-de-programacion.globered.com/categoria.asp?idcat=33 c. http://c.conclase.net/curso/?cap=006#inicio d. http://www.taringa.net/posts/ciencia-educacion/15391497/C--- Declaracion-de-variables.html e. http://ccodigo.wordpress.com/tag/string-h/ f. http://sopa.dis.ulpgc.es/fso/cpp/intro_c/introc53.htm g. http://fcqi.tij.uabc.mx/usuarios/cgaxiola/prog_p7.pdf h. http://es.wikipedia.org/wiki/String.h i. http://arduino.cc/en/pmwiki.php?n=Tutorial/TextString j. http://c.conclase.net/curso/?cap=902f