C/Visual C - Punteros

 
Vista:

Punteros

Publicado por Elsa Ng (4 intervenciones) el 17/03/2001 21:29:07
Deseria saber como podemos comparar dos punteros con un valor string que introduce el usuario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Punteros

Publicado por Huca (15 intervenciones) el 18/03/2001 00:04:12
Si no recuerdo mal la funcion STRCMP compara dos cadenas, puede que eso te sirva.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por CaFcO (40 intervenciones) el 18/03/2001 05:14:35
Hola, efectivamente, lo puedes realizar con la funcion

strcmp(c1,c2);
o
strcmpi(c1,c2);

la unica diferencia entre estas dos funciones es que la primera no te distigue de mayusculas y minusculas, y la segunda si, es decir que en la primera las cadenas deben de ser escritas de la misma forma.

bye

¡Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por Elsa Ng (4 intervenciones) el 18/03/2001 05:58:47
Gracias por la ayuda? pero la funcion esta sirve igual para dos cadenas de diferente tamaño?
por ejemplo:

tengo char *temp[1] y *temp2[4]
y quiero comparar a ver si temp2 los nombres que tiene adentro si uno de los cuatros es igual al nombre que guarde en temp1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por angelous (1 intervención) el 18/03/2001 08:30:02
Si. esa función sirve para comparar cadenas no importando su tamaño...

nada mas una pregunta:
por que usas un apuntador a una cadena *temp[1],si con solo poner temp[1] ya tienes un apuntador...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por Elsa Ng (4 intervenciones) el 18/03/2001 21:31:05
yo use *temp1[]... solamente cuando las declaros
en char
char *temp[2];
char *temp2[3];
porque si no usara el asterico seria utilizar un array, un vector... lo que quiero es almacenar un nombre por posicion... no letra... si fuese si *, en caso de nombres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por Endos (179 intervenciones) el 18/03/2001 13:45:51
Eso es un arreglo de punteros a cadena. Necesitas meter dos bucles para comparalos.

int bucle, bucle1;
char *temp[]={"Cadena1","Cadena2","Cadena3"};
char *temp2[]={"Cadena01","Cadena3"};

for(bucle=0; bucle<3; bucle++)
for(bucle1=0; bucle1<2; bucle1++)
if(strcmp(temp[bucle],temp2[bucle1])==0)
{
printf("Coinciden las cadenas temp[%u] con temp2[%u]\n",bucle,bucle1);
return;
}

printf("No coinciden\n");
....

Saludos,
Endos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por Elsa Ng (4 intervenciones) el 18/03/2001 21:27:25
Muchas Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punteros

Publicado por Germán B. (143 intervenciones) el 18/03/2001 21:43:24
Las funciones strcmp() y strcmpi() toman como argumento 2 cadenas, o digamos punteros char, no importa de qué longitud es cada cadena ni si las cadenas son elementos de vectores de cadenas.
Las funciones retornan 0 cuando ambas cadenas son iguales, y distinto de 0 cuando son distintas. Más especificamente retornan 1 si la primera es mayor que la segunda (según orden de caracteres ASCII) y -1 si la primera es menor que la segunda.
Como bien se dijo por ahí, strcmpi() ignora diferencias entre mayúsculas y minúsculas.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar