Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#2171
Programación C/C++ / Re: Comparando cadenas
25 Enero 2012, 21:00 PM
Cita de: armizh en 25 Enero 2012, 20:33 PMPues la primera vez funciona y el resto no porque simplemente el for modifica el valor hasta 10 y luego tu no lo seteas a 0 para que vuelva a buscar en todo el puntero.

No, no es asi ...  for (i=0;i<10;i++){

Funciona solamente cuando se busca el primer elemento del array, sea la primera o la decima vez que se busca.

Cita de: armizh en 25 Enero 2012, 20:33 PMSi aun asi no funciona no estaria mal que probaras con un switch en vez de if.

No tiene ningun sentido reemplazar el if por un switch cuando solo interesan uno o dos valores a comparar.

Cita de: armizh en 25 Enero 2012, 20:33 PMUn consejo: yo uso for solo cuando es necesario, si te produce problemas cambialo y usa otro bucle que te de mas libertades.

Justamente for es el bucle que mas libertad ofrece, hasta se puede omitir la inicializacion, la condicion y el incremento para tener un bucle infinito.

Por favor, asegurate de lo que vas a escribir, no es bueno que los que estan aprendiendo se confundan con conceptos erroneos.


DickGumshoe: usa mas la cabeza y menos las manos para escribir mensajes.
#2172
Programación C/C++ / Re: Comparando cadenas
25 Enero 2012, 18:55 PM
Lee el codigo con atencion, publicar 200 mensajes con un solo problema no implica que te lo vayamos a solucionar nosotros. El bucle ese no tiene sentido, si solo funciona con el primer elemento es por algo. Tal vez si usas una identacion como la gente lo veas rapidamente.
#2174
Programación C/C++ / Re: Comparando cadenas
24 Enero 2012, 23:47 PM
strcmp devuelve 0 cuando las cadenas comparadas son iguales.

¿Viste el codigo que te dejo BlackZeroX (Astaroth)? ¿No te parece un poco mas elegante la comparacion con un bucle?
#2175
Programación C/C++ / Re: Comparando cadenas
24 Enero 2012, 22:38 PM
Cita de: DickGumshoe en 24 Enero 2012, 22:36 PM
Muchas gracias a todos.

Ahora me compila, pero al introducir los 10 nombres, dice: 10nombre.exe dejó de funcionar. Windows está buscando una solución al problema...

Gracias.

Saludos.

Vaya uno a saber que frankestein de codigo tendras ahora, ponelo pero antes relee el hilo completo y asegurate de que estas leyendo SOLO 10 elementos en el array (ese es su tamaño, no podes leer mas sino pasa lo que viste).
#2176
Programación C/C++ / Re: Comparando cadenas
24 Enero 2012, 22:29 PM
Cita de: armizh en 24 Enero 2012, 22:04 PM
Como yo dije anteriormente, el aux debe ser una matriz o un puntero, queda a gusto de el, y el = en i<=10 no sobra, ya que i puede ser igual o menor a 10. Ademas debe corregir lo del system("pause") que es bastante desaconsejable.

Saludos

Si reemplazara char por un puntero a char asi alegremente sin asignarle ningun valor cometeria un error ya que se lo esta pasando a gets (mejor todavia usar fgets con stdin). Tambien tiene razon satu y ya lo habia corregido BlackZeroX (Astaroth) el otro punto, el ultimo elemento de un array es su tamaño menos uno.
#2177
Programación C/C++ / Re: Memoria dinámica
24 Enero 2012, 22:17 PM
eleon: con un puntero vas accediendo al miembro que apunta al siguiente elemento, en cualquier libro podes encontrar esto muy bien explicado y con ejemplos. Mejor uno de papel pero sino en el foro tenes muchos: http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

armizh: ¿De verdad pensas que en C++ no se incrementa con ++? ¿A donde te crees que apunta puntero? Memoria invalida, solo se reservo espacio para un objeto.
#2178
Pasando lpValueName como 0 o una cadena vacia funciona perfectamente, el problema estara en tu codigo.

char value[1024];
DWORD dSize = sizeof(value);
RegQueryValueEx(hKey, "", 0, 0, (LPBYTE)&value, &dSize);
RegQueryValueEx(hKey, 0, 0, 0, (LPBYTE)&value, &dSize);
#2180
De nada, otra alternativa seria usar algo como Cygwin.