Autor
|
Tema: como puedo comparar dos cadenas de texto? (Leído 10,657 veces)
|
linux1
Desconectado
Mensajes: 138
|
hola lo que pasa es que quiero poder comparar dos cadenas de texto "char" por medio de un if-else por ejemplo yo tengo estos dos valores aba y abc vemos que son diferentes por el ultimo caracter quisiera saber como puedo comparar estos con la instruccion if y else de c
|
|
|
En línea
|
|
|
|
Lunfardo
Desconectado
Mensajes: 568
|
si es como yo entendi:
anda comporadan caracter a caracter( osea el primero con el primero, el segundo con el segundo,etc) mientras sea verdadero que siga avanzando, y si es falso que informe lo que vos quieras,
bye =)
|
|
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
La cuestión es:
A) Si quieres que te diga la primera diferencia: compara carácter a carácter hasta que encuentres una difernecia, sino, devuelve algún mensaje como que son iguales. Si encuentras la diferencia, devuelve algo como que son diferentes y para el bucle.
B) Si quieres que te las diga todas: compara carácter a carácter mientras no llegues a la longitud de las cadenas, y en cada diferencia, di en que posición está.
Nótese que no he incluido ninguna medida de control de longitudes y demás, eso ya es tema a parte.
|
|
|
En línea
|
|
|
|
darkvidhack
Desconectado
Mensajes: 159
Be Linux my friend...
|
Bueno, lo primero, tu lo que quieres, una cadena de texto, no es "char", sino "string" , veamos: #include <iostream> using namespace std; int main () { string primera_cadena="abc"; string segunda_cadena="aba"; if (primera_cadena==segunda_cadena) cout << "Las dos cadenas son iguales"; else cout << "Las cadenas son distintas"; return 0; } Espero haberte ayudado
|
|
|
En línea
|
live and let die
la duda es la base de todo conocimiento
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
darkvidhack: no necesariamente y menos en C donde no existen. Con un solo if-else mejor usar strcmp diria yo.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
xassiz~
|
#include<stdio.h> #include<string.h> int main() { char cadena_uno[5] = "hola"; char cadena_dos[5] = "hoal"; if(strcmp(cadena_uno , cadena_dos )==0) return 0; }
|
|
« Última modificación: 15 Octubre 2010, 15:21 pm por pablomi »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
pablomi, lee el enlace que deje:
"A zero value indicates that both strings are equal."
La logica o el mensaje del codigo que dejaste esta mal.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Yo usaría strncmp if(!strncmp(cad1,cad2,sizeof cad2)) std::cout<<"iguales"<<std::endl; else std::cout<<"distintas";
Con sizeof por supuesto siempre que el arreglo sea local, de lo contrario strlen. Igualmente tambien se puede pasar otro valor, uno menor por ejemplo para comparar 2 caracteres. El ejemplo de cplusplus: /* strncmp example */ #include <stdio.h> #include <string.h> int main () { char str[][5] = { "R2D2" , "C3PO" , "R2A6" }; int n; puts ("Looking for R2 astromech droids..."); for (n=0 ; n<3 ; n++) if (strncmp (str [n ],"R2xx",2) == 0) { } return 0; }
Saludos PD: linux1, hay muchos post sobre este tema, utiliza el buscador!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
xassiz~
|
pablomi, lee el enlace que deje:
"A zero value indicates that both strings are equal."
La logica o el mensaje del codigo que dejaste esta mal.
Perdón, ya sabía su uso, se me pasó lo del mensaje "diferentes" por "iguales"
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Microsoft: comparar IE9 y Firefox 4 es como comparar “manzanas y naranjas”
« 1 2 »
Noticias
|
wolfbcn
|
15
|
7,909
|
27 Marzo 2011, 04:35 am
por Foxy Rider
|
|
|
lo mas basico, como manipular cadenas
Programación C/C++
|
rod00x3
|
2
|
2,303
|
7 Enero 2013, 20:57 pm
por Stakewinner00
|
|
|
[Duda] Como podría comparar 2 cadenas en Python
Scripting
|
Proxmond
|
2
|
16,661
|
14 Julio 2014, 03:58 am
por Proxmond
|
|
|
Como comparar cadenas de textos o Strings en Java
Java
|
soy_nicanor
|
2
|
2,308
|
15 Febrero 2015, 23:02 pm
por Usuario Invitado
|
|
|
Como comparar un string con una palabra dentro de un documeto de texto
Programación C/C++
|
lordluisiv
|
6
|
3,805
|
5 Abril 2019, 11:53 am
por lordluisiv
|
|