Autor
|
Tema: ayuda con manejo de cadenas y apuntadores (Leído 2,807 veces)
|
rod00x3
Desconectado
Mensajes: 21
|
mi duda es sobre como puedo hacer para declarar un array de characteres y convertirlo en cadena o comparar un arreglo con una condicion de cadena ejemplo
char linea[1024];
cto=recvfrom(sock, linea, sizeof linea,0 , (sad) &sin1, &l)
segun este comando lee de un socket y en cto me devuelve la cantidad de bytes leidos y guarda en linea lo que leyo.
solo quiero que cuando se teclee fin me despliegue Llego, ya intente llenar todo linea con '\0' antes de leer el socket, pero nada no me funciona. el problema se da cuando quiero comparar lo que me llega con:
if(linea=="fin"){printf("\nLlegoo");} if(linea=="fin\0"){printf("\nLlegoo");} pero no lo logro que esta mal??
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Para comparar cadenas en C se utiliza la función: int strcmp ( const char * str1 , const char * str2 );
Valor de retorno:- 0 si son iguales
- Un valor mayor que 0 si el primer caracter de str1 ,que no coincide con el de str2, es mayor que el primer carácter de str2. Un valor menor que 0 indica lo contrario.
Fuente --> http://www.cplusplus.com/reference/cstring/strcmp/Así que si la cadena que viene del buffer tiene final de cadena puedes hacer esto: { }
|
|
« Última modificación: 4 Enero 2013, 20:45 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
durasno
Desconectado
Mensajes: 373
|
Para que no haya confuciones avesudra se olvido de un parentesis if(strcmp(linea ,"fin")== 0) /* <-- ahi faltaba un parentesis */ { }
|
|
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Porque poner ==0? No es mas facil asi? :
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Cierto durasno, un descuido . Si que es mas fácil pero si el usuario no sabe que para comparar cadenas hay que utilizar strcmp , no me atrevo a poner eso 0xDani .
|
|
|
En línea
|
Regístrate en
|
|
|
rod00x3
Desconectado
Mensajes: 21
|
Cierto lo que me mencionaron, funciono a la perfeccion, gracias.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
manejo de cadenas _scanf
ASM
|
limbertx
|
3
|
3,172
|
27 Febrero 2013, 17:41 pm
por xv0
|
|
|
Problema con apuntadores!!!!!!
Programación C/C++
|
7hongo7
|
7
|
4,294
|
5 Julio 2013, 10:16 am
por kmilinh0
|
|
|
Apuntadores con c++ Ayuda!!!
Programación C/C++
|
bamdrums
|
5
|
3,066
|
18 Enero 2015, 08:25 am
por engel lex
|
|
|
Manejo de cadenas en C++ [Programación básica]
Programación C/C++
|
sombrakepsilon
|
0
|
1,492
|
2 Diciembre 2015, 20:36 pm
por sombrakepsilon
|
|
|
[C] Manejo de cadenas
Programación C/C++
|
n-utz
|
2
|
2,302
|
19 Octubre 2016, 09:14 am
por class_OpenGL
|
|