| 
	
		|  Autor | Tema: como puedo comparar dos cadenas de texto?  (Leído 11,188 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 ajeno al tiempo 
								Moderador
								      Desconectado 
								Mensajes: 5.970
								
								 
								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 ajeno al tiempo 
								Moderador
								      Desconectado 
								Mensajes: 5.970
								
								 
								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 | 10,384 |  27 Marzo 2011, 04:35 am por Foxy Rider
 |  
						|   |   | lo mas basico, como manipular cadenas Programación C/C++
 | rod00x3 | 2 | 2,629 |  7 Enero 2013, 20:57 pm por Stakewinner00
 |  
						|   |   | [Duda] Como podría comparar 2 cadenas en Python Scripting
 | Proxmond | 2 | 17,137 |  14 Julio 2014, 03:58 am por Proxmond
 |  
						|   |   | Como comparar cadenas de textos o Strings en Java Java
 | soy_nicanor | 2 | 2,689 |  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 | 4,717 |  5 Abril 2019, 11:53 am por lordluisiv
 |    |