• Lunes 24 de Febrero de 2025, 04:16

Mostrar Mensajes

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


Mensajes - Eternal Idol

Páginas: 1 ... 27 28 [29] 30 31 ... 205
701
Visual C++ / Re: Fallo con un puntero
« en: Sábado 16 de Mayo de 2009, 20:25 »
De nadas  B)

702
Visual C++ / Re: Fallo con un puntero
« en: Sábado 16 de Mayo de 2009, 19:54 »
Código: Text
  1. pesos = new float[variable];
  2.  

En el destructor:
Código: Text
  1. delete[] pesos;
  2.  

703
C/C++ / Re: Reutilizacion de codigo
« en: Sábado 16 de Mayo de 2009, 19:45 »
El error en la MSDN.

704
Visual C++ / Re: Fallo con un puntero
« en: Sábado 16 de Mayo de 2009, 19:26 »
El problema es que ahi pesos es un valor indefinido (tenes suerte que es cero en tu caso), entonces si pesos apunta a 0 cuando desreferencias el puntero da una excepcion. Eso lo que haria de ser pesos un puntero valido es cambiar el float al cual apunta pesos. ¿Es eso lo que queres hacer? ¿O queres apuntar a un float? Para lo segundo tenes que hacer asignar un valor a pesos (pesos = new float; por poner un ejemplo) y no desreferenciar el puntero y asignarle un valor como haces ahora.

705
C/C++ / Re: fallo intentando hacer scanf personalizado
« en: Sábado 16 de Mayo de 2009, 01:17 »
De nadas  B)

706
C/C++ / Re: fallo intentando hacer scanf personalizado
« en: Sábado 16 de Mayo de 2009, 00:06 »
La tecnica es leer con una funcion como fgets que a diferencia de scanf no deja basura en el buffer, la cadena donde se almacene puede ser memoria dinamica tranquilamente no tiene que ser un array.

Con  *line = 0; hacemos que la cadena linea este vacia (las cadenas terminan en 0), supongamos que fgets falla y no escribe nada (lo mismo habria que hacer al principio, igual es un ejemplo nada mas), entonces seguimos teniendo una cadena vacia, el metodo del memset tambien es bueno (siempre es mejor usar sizeof por si cambiamos el tamaño).

707
C/C++ / Re: fallo intentando hacer scanf personalizado
« en: Viernes 15 de Mayo de 2009, 22:27 »
Código: C++
  1. printf("nintroduzca una cadena");
  2. char line[80];
  3. fgets(line, sizeof(line), stdin);
  4. sscanf(line, "%49[a-z]",b);
  5. printf("nintroduzca otra cadena: ");
  6. *line = 0;
  7. fgets(line, sizeof(line), stdin);
  8. sscanf(line, "%49[a-z]",c);
  9.  

PD. Es una palabra mas que una cadena.

708
C/C++ / Re: Problema extraño con variable
« en: Viernes 15 de Mayo de 2009, 17:45 »
¿buffer = 0;?

709
ASM (Ensamblador) / Re: algun tutorial con teoria y ejemplos?
« en: Viernes 15 de Mayo de 2009, 08:11 »

710
C/C++ / Re: fallo intentando hacer scanf personalizado
« en: Jueves 14 de Mayo de 2009, 22:24 »
Me parece que no podes pasar el va_list, tenes que usar va_arg ... igual ¿No es mucho mejor usar fgets y sscanf (en lugar de limpiar el buffer no ensuciarlo directamente)?

711
C/C++ / Re: fallo intentando hacer scanf personalizado
« en: Jueves 14 de Mayo de 2009, 21:39 »
Yo lo depure y jamas sale del while ...

712
C/C++ / Re: C : ELIMINAR ESPACIOS EN BLANCO DE UNA CADENA
« en: Jueves 14 de Mayo de 2009, 20:41 »
tmp es un puntero dentro de la cadena original (h), cuando haces el sprintf la esta modificando de la manera que ya se menciono ...

713
C/C++ / Re: C : ELIMINAR ESPACIOS EN BLANCO DE UNA CADENA
« en: Jueves 14 de Mayo de 2009, 20:04 »
"HOLA" esta atras del espacio con el que comienza tmp, strchr retorno ese puntero justamente.

Si h es 0x1010 entonces la primera vez que llamas a strchr retorna 0x1015.

714
C/C++ / Re: C : ELIMINAR ESPACIOS EN BLANCO DE UNA CADENA
« en: Jueves 14 de Mayo de 2009, 18:44 »
tmp siempre que no es NULL es un puntero a un espacio (' ') dentro de la cadena original (h en este caso) entonces sprintf le da formato.

sprintf(tmp,"%s",tmp+1);

Por ejemplo:
tmp = " PROBANDO ESTO - CHE";
tmp + 1 = "PROBANDO ESTO - CHE";

entonces tmp pierde el espacio del principio mediante una copia.

715
C/C++ / Re: C : ELIMINAR ESPACIOS EN BLANCO DE UNA CADENA
« en: Jueves 14 de Mayo de 2009, 16:30 »
En realidad el quiere trabajar siempre sobre el mismo buffer,a fin de cuentas el tamaño de la cadena sera siempre igual o menor ... el problema es que la cadena esa ira a parar a la seccion de datos de solo lectura. Asi, poniendo la cadena en la pila, funciona:

Código: Text
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     cout << "probando quita espacios" << endl;
  8.     char*tmp;
  9.     char h[] = "HOLA PROBANDO ESTO - CHE";
  10.     while((tmp=strchr(h,32))!=NULL)
  11.     sprintf(tmp,"%s",tmp+1);
  12.     cout << h;
  13.     return 0;
  14. }
  15.  

PD. El != NULL sobra  ;)

716
Visual C++ / Re: error LINK 2001
« en: Jueves 14 de Mayo de 2009, 14:11 »
No tenes DllMain ...

717
Visual C++ / Re: error LINK 2001
« en: Jueves 14 de Mayo de 2009, 12:53 »
De nadas  B) En todo lo que sea codigo, dale a Editar sobre tu mensaje original para VER como lo hice.

718
ASM (Ensamblador) / Re: hook en una ventana (explorador de windows)
« en: Miércoles 13 de Mayo de 2009, 00:06 »
Estas pasando el tid y no el pid.

Igual siempre mira la documentacion en la MSDN para ver los valores de retorno y errores:
If the function fails, the return value is NULL. To get extended error information, call GetLastError.

719
C++ Builder / Re: Consulta sobre comunicacion Serie e Interrupciones
« en: Martes 12 de Mayo de 2009, 23:54 »
Bueno, para repetir la operacion si no hay respuesta podes usar un bucle (for por ejemplo) y Sleep para esperar un tiempo prudencial.

720
C++ Builder / Re: Consulta sobre comunicacion Serie e Interrupciones
« en: Martes 12 de Mayo de 2009, 15:34 »
Si lo que queres es esperar usa Sleep.

721
C/C++ / Re: Parametros genericos....
« en: Domingo 10 de Mayo de 2009, 19:37 »
ftell es para obtener la posicion en la que se encuentra el stream. rewind, que jamas use, lleva el stream al comienzo del archivo asi que es justamente lo que queres.

722
C/C++ / Re: Parametros genericos....
« en: Domingo 10 de Mayo de 2009, 17:25 »
a+b deberia estar bien: "Open a file for reading and appending. All writing operations are performed at the end of the file, protecting the previous content to be overwritten. You can reposition (fseek, rewind) the internal pointer to anywhere in the file for reading, but writing operations will move it back to the end of file. The file is created if it does not exist."

Cualquier cosa usa fseek para ponerte al principio ...

723
ASM (Ensamblador) / Re: interrupciones
« en: Domingo 10 de Mayo de 2009, 10:09 »

724
C/C++ / Re: Parametros genericos....
« en: Domingo 10 de Mayo de 2009, 10:03 »
Abrilo en modo binario, mira fopen.

725
C/C++ / Re: instanciacion de un objeto en un atributo de la clase
« en: Sábado 9 de Mayo de 2009, 19:54 »
Genial, me alegro de que lo hayas podido solucionar  :good:

Páginas: 1 ... 27 28 [29] 30 31 ... 205