Sei sulla pagina 1di 7

strcmp es una funcin en la biblioteca estndar La funcin retorna un nmero entero mayor, igual, o menor que cero, apropiadamente

segn la cadena apuntada por str1 es mayor, igual, o menor que la caden, str2 );
El prototipo de la funcin es: strcmp int strcmp(const char *s1, const char *s2); Esta funcin compara la cadena apuntada por s1 con la cadena apuntada por s2, la funcin retorna 0 si las 2 cadenas son iguales, si s1 es mayor que s2 entonces retorna un valor mayor que 0 y si s1 es menor que s2 retorna un valor menor que 0. Nota: La funcin strcmp al comparar estas dos cadenas "HOLA" y "hola" el resultado es que son diferentes debido a que esta funcin encuentra diferencias por las maysculas y minsculas Un ejemplo de como utilizar esta funcin en C: #include<stdio.h> #include<string.h> #include<stdlib.h> main(){ char c1[15]="HOLA", c2[15]="hola"; int n; n = strcmp(c1,c2); if(n==0){ printf("Las dos cadenas \"%s\" y \"%s\" son iguales.\n", c1, c2); } else{ if(n>0){ printf("La cadena \"%s\" es mayor que \"%s\".\n",c1,c2); } else{ printf("La cadena \"%s\" es menor que \"%s\".\n",c1,c2); } } system("pause"); return 0; } Strcpy

Prototipo[editar editar cdigo]


char * strcpy ( char * destino, const char * origen );

Parmetros[editar editar cdigo]


char * destino char * origen

Descripcin[editar editar cdigo]


Copia la cadena apuntada por origen en la cadena apuntada por destino.

Ejemplo[editar editar cdigo]


char * origen = "Hola mundo"; //Se inicializa la variable origen con el valor indicado char destino[strlen(origen)+1]; //El puntero destino debe contener suficiente espacio para copiar sobre la zona de memoria a la que apunta, la ristra apuntada por origen strcpy (destino, origen); // Despus de realizar esta operacin la variable destino tendr el valor "Hola mundo"

Enlaces externos[editar editar cdigo]


Descripcin de la funcin Strcpy en C con clase

Ejemplos en c++[editar editar cdigo]


1. include<iostream.h> 2. include<conio.h> 3. include<string.h> void main() { float venta[100],auxV,suma; char vendedor[100][30],aux[30]; int i,j,n; cout<<"ingrese la cantidad de Vendedores:"; cin>>n; for(i=0;i<n;i++) {cout<<"Vendedor "<<i+1<<endl; cout<<"Nombre Vendedor:"; cin>>vendedor[i]; cout<<"Importe de su Venta:"; cin>>venta[i]; suma+=venta[i];} for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if (venta[i]>venta[j]) {auxV=venta[i]; venta[i]=venta[j]; venta[j]=auxV; strcpy(aux,vendedor[i]); strcpy(vendedor[i],vendedor[j]); strcpy(vendedor[j],aux); } cout<<"Venta Maxima: "<<venta[n-1]<<" Realizado por "<<vendedor[n-1]<<endl; cout<<"Venta Minima: "<<venta[0]<<" Realizado por "<<vendedor[0]<<endl; cout<<"Venta Promedio:"<<suma/n; getch(); }

Biblioteca de manipulacin de cadenas string.h


^

En esta biblioteca se incluyen rutinas de manipulacin de cadenas de caracteres y de memoria. De momento veremos slo algunas de las que se refieren a cadenas.
Funcin 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 nmero de caracteres que hay en s, excluyendo el carcter nulo de terminacin 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; } Funcin 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 carcter 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; } Funcin 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 comparacin se realiza carcter a carcter. Mientras los caracteres comparados sean iguales, se contina con el siguiente carcter. Cuando se encuentran caracteres distintos, aqul que tenga un cdigo ASCII menor pertenecer a la cadena menor. Por supuesto, si las cadenas son iguales hasta que una de ellas se acaba, la ms corta es la menor. Ejemplo:
#include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 char *cadena2 char *cadena3 char *cadena4 = = = = "Cadena ejemplo 1"; "Cadena ejemplo 2"; "Cadena"; "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; } Funcin strcat()

Aade o concatena una cadena a otra. Sintaxis:


char *strcat(char *dest, const char *orig);

strcat aade una copia de orig al final de dest. La longitud de la cadena resultante 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; } Funcin strncpy()

Copia un determinado nmero 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 ms 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 ms. 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; } Funcin 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 slo se comparan los primeros maxlong caracteres. Ejemplo:
#include <iostream> #include <cstring> using namespace std; int main() { char *cadena1 char *cadena2 char *cadena3 char *cadena4 = = = = "Cadena ejemplo 1"; "Cadena ejemplo 2"; "Cadena"; "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; } Funcin strncat()

Aade o concatena una porcin de una cadena a otra. Sintaxis:


char *strncat(char *dest, const char *orig, size_t maxlong);

strncat aade como mximo maxlong caracteres de la cadena orig al final de dest, y despus aade el carcter 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; return 0; }

Funcin strtok()

Busca dentro de una cadena conjuntos de caracteres o smbolos (tokens) separados por delimitadores. Sintaxis:
char *strtok(char *s1, const char *s2);

strtok considera la cadena s1 como una lista de smbolos separados por delimitadores de la forma de s2. La primera llamada a strtok devuelve un puntero al primer carcter del primer smbolo de s1 e inserta un carcter nulo a continuacin del smbolo retornado. Las siguientes llamadas, especificando null como primer argumento, siguen dando smbolos hasta que no quede ninguno. El separador, s2, puede ser diferente para cada llamada. Valor de retorno: strtok devuelve un puntero al smbolo extrado, oNULL cuando no quedan smbolos. 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;

http://www.nachocabanes.com/c/referencia/detalle.php?funcion=strcmp http://codigomaldito.blogspot.com/2005/11/funciones-de-cstring-strcpy-y-strncpy.html http://es.wikipedia.org/wiki/Strcpy http://c.conclase.net/curso/?cap=902f

Potrebbero piacerti anche