Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: winnipu en 9 Noviembre 2010, 22:48 PM

Título: error grave en programa
Publicado por: winnipu en 9 Noviembre 2010, 22:48 PM
Vereis he hecho un programa que hace lo que se le pide, pero llegado un momento se cierra bruscamente y sale una pantalla de windows diciendo error grave el programa va a cerrarse. Os pego el codigo a ver si alguien sabe a que puede ser debido:

editado codigo no funcional
Título: Re: error grave en programa
Publicado por: flony en 10 Noviembre 2010, 02:32 AM
no se si sirve per tiene dos errores
Citarpractica.cpp(16) : error C2664: 'InternetConnectW' : no se puede convertir el parámetro 2 de 'const char [22]' a 'LPCWSTR'
Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
y el otro
Citarpractica.cpp(17) : error C2664: 'FtpGetFileW' : no se puede convertir el parámetro 2 de 'const char [11]' a 'LPCWSTR'
Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
Título: Re: error grave en programa
Publicado por: bizco en 10 Noviembre 2010, 03:37 AM
http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

te respondo asi pq este hilo viene de aqui:

http://foro.elhacker.net/programacion_cc/ftp_en_c-t309507.0.html


Lo mismo que te conteste en ese hilo, es mala practica no verificar el resultado de las funciones y peor usar strcat,strcpy o similares sin verificar el tamaño del buffer.
Título: Re: error grave en programa
Publicado por: Mr.Blue en 10 Noviembre 2010, 04:20 AM
Flony, el primer error que citas es por los parametros de user y pass

En el segundo pasa igual RARCHIVO
Citar
lpszRemoteFile [in]

    Pointer to a null-terminated string that contains the name of the file to be retrieved.

http://msdn.microsoft.com/en-us/library/aa384157%28VS.85%29.aspx
Título: Re: error grave en programa
Publicado por: winnipu en 10 Noviembre 2010, 23:31 PM
Gracias a todos por responder. Creo haber seguido vuestros consejos dejando asi el code. Ahora ya no hace desbordamiento de buffer, pero en cambio ahora no baja el archivo, y antes aun haciendo el bof lo bajaba. Os pego code:

editado. Codigo no funcional.
Título: Re: error grave en programa
Publicado por: bizco en 11 Noviembre 2010, 00:18 AM
te repito, continuas sin verificar que te retornan las funciones.
Título: Re: error grave en programa
Publicado por: winnipu en 11 Noviembre 2010, 16:03 PM
las verifico a mano. No te molestes mas bizco, ya tengo el code que queria, plenamente funcional, portable, y sin buffer overflow. Ah, y por cierto, gracias por los libros que me recomendaste, ese post lamentablemente fue el primero que lei, antes de empezar con c++. Tengo muchos de esos libros descargados en mi pc, y llevo poco tiempo con c++. No programo bien por el poco tiempo que llevo (mes y pico). Perdona que no sepa usar ciertas funciones, que me lie con los arrays, que cometa desbordamientos de memoria, seguro que tu naciste aprendido, y la primera palabra que dijiste no fue ni papa ni mama sino printf "papa".
Título: Re: error grave en programa
Publicado por: bizco en 11 Noviembre 2010, 21:49 PM

Citar
No programo bien por el poco tiempo que llevo (mes y pico). Perdona que no sepa usar ciertas funciones, que me lie con los arrays, que cometa desbordamientos de memoria, seguro que tu naciste aprendido, y la primera palabra que dijiste no fue ni papa ni mama sino printf "papa".

Si no aceptas los consejos tu mismo. el primer post te di la solucion por privado cuando lo pediste y ahi te parecio bien, a los pocos dias vuelves con el mismo codigo y aun diciendote que no verificar el resultado es malo continuas igual y aun te preguntas pq falla el codigo.

Continua con tu metodo, que vas MUY MUUY bien. logicamente que no sabia recien nacido, PERO yo tenia y tengo bastante cabeza para saber que antes del 1 va el 2, lo primero aprender el lenguaje (y todo lo que conlleva) y luego meterse ya con "DOWNLOADERS" o sea lo que sea la herramienta super jaxor que estes programando (mendigando codigo).


Título: Re: error grave en programa
Publicado por: Littlehorse en 11 Noviembre 2010, 22:40 PM
Aclarando algunas cosas:

@winnipu

1) Si un moderador te hace una edición en un mensaje para advertirte de una falta, no puedes editar esa advertencia y borrarla. Lo dejo pasar por esta vez, porque supongo no lo sabias, pero si a pesar de las advertencias para que no sigas haciendo doble posts, lo haces y encima me editas la advertencia, no me dejas alternativa que ante un hecho similar tenga que borrar el hilo directamente.

2) Si en un hilo no tienes la respuesta que necesitas, no haces uno nuevo posteando el mismo código. Si un usuario te facilita un código en base al tuyo y no lo entiendes, no haces un nuevo hilo preguntando sobre el, las preguntas las haces en el mismo hilo en el cual se te facilito el código.

3) Es de mal gusto editar los posts para borrar el contenido, sea cual fuese el motivo.

@bizco

Te edite un poco el mensaje, no porque no este de acuerdo con la idea que planteas si no porque hay que mantener las formas y sobre todo el vocabulario.

Saludos