elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


  Mostrar Mensajes
Páginas: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [101] 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 119
1001  Programación / Programación C/C++ / Re: Como Puedo Copiar Archivo en: 27 Febrero 2016, 09:01
BlackM4sater, tienes razón. Empecé a pensar en el problema, luego pensé en como sería sin tuviera que moverlo a otro sitio y se me fue el santo al cielo.
Usar la API es una muy buena solución pero nada portable, amenoa que se usen las clausulas del preprocesador.
1002  Programación / Programación C/C++ / Re: Error muy extraño con SSCANF en: 27 Febrero 2016, 08:49
furciorifa, esa cuenta está mal.

Los valores hexadecimales representan 4 bits, poner dos juntos es un byte en la memoria del ordenador.

Por tanto si el ordenador le acepta un númeri de 16 hexadecimales lo que está es trabajando con un dato de 64 bits.
1003  Programación / Programación C/C++ / Re: Como Puedo Copiar Archivo en: 26 Febrero 2016, 23:15
Usa la función rename de stdio.h

Su firma es:
Código
  1. int rename(const char *viejo, const char *nuevo);
siendo viejo la cadena con el nombre antiguo del archivo
y nuevo la cadena con el nombre nuevo del archivo.
Retorna 0 si ha tenido éxito y cualquier otro valor, que no sea 0 si falla. En caso de fallo el archivo sigue con el nombre antiguo.

http://c.conclase.net/librerias/?ansifun=rename
1004  Programación / Programación C/C++ / Re: Problemas al LEER los datos por comunicación serial con CCS en: 26 Febrero 2016, 23:00
Veo que usas indice volátil pero nadie mas que el propio programa te lo va a cambiar así que debería ser una variable normal.

indice de RECEPCION_RS232, en teoría va de 0 a 4 pero cuándo superas el límite superior no hay nada que lo haga volver a 0 con lo que continuará con 5, 6,... y sobreescribiendo a zonas posteriores de memoria de forma descontrolada.

Tal como usas el programa deberías cambiar los
Código
  1. #define display_1     PIN_B4
por
Código
  1. #define display_1     0x01
y sucesivamente con los demás defines para usar
Código
  1. output_b(display_1);
1005  Programación / Programación C/C++ / Re: c++ necesito informacion en: 25 Febrero 2016, 09:08
Geany, para empezar a programar y hacer pequeñas cosas va muy bien: Es muy rápido, incluso con ordenadores lentos y no te distrae con miles de opciones.
1006  Programación / Programación C/C++ / Re: Error muy extraño con SSCANF en: 24 Febrero 2016, 18:50
Dices que lo guardas en un int.
Cambia la variable a long, tendrás el doble de tamaño. Y si no vas a usar números negativos usa unsigned long.
1007  Programación / Programación C/C++ / Re: Error muy extraño con SSCANF en: 24 Febrero 2016, 17:24
Debes recordar que  los números son finitos y hay un máximo valor para cada tipo. 16 dígitos en hexadecimal ya es hablar de un número muy muy grande.
Deberías pensar en usar una librería para manejar este tipo de números o manejarlos por ti mismo.
1008  Programación / Programación C/C++ / Re: detalle sobre extern en: 24 Febrero 2016, 16:16
Que me corrijan los chicos de C++ si me equivoco.

C++, debido a la sobrecarga de métodos, adorna el nombre de las funciones según el número de parámetros, su tipo y el tipo de retorno. Lo que el programador escribe en el código fuente a lo que el compilador hace en el código objeto son cosas diferentes.

Para hacer compatible las funciones que se escriban con un compilador de C++ para que las use un compilador de C existe esta estructura extern "C" que lo que hace es mantener el nombre de la función en el archivo objeto tal cual se ha escrito en el archivo fuente, así C u otro lenguaje que sea compatible con éste, cómo es python, por ejemplo, puede acceder a la función.
1009  Programación / Programación C/C++ / Re: Tips para programar más rápido en: 24 Febrero 2016, 13:10
Editores para no levantar las manos del teclado: VIM y EMACS
1010  Programación / Programación C/C++ / Re: ¿Me podrian explicar como funciana los punteros en una pila con el sgte ejercic? en: 22 Febrero 2016, 22:50
Es confuso al principio pero debes visualizarlo de esta forma:

Las funciones, al recibir parámetros, reciben copias de los datos. Cuándo reciben un puntero, lo que reciben es una copia del puntero. Jugar con ésto permite al programador poder modificar los valores de una variable externa, como bien sabes, al pasar la referencia de esa variable.

Si miras el código se necesita variar el puntero en sí:
Código
  1. void push(pila *pil, int v) {
  2.   pnodo nuevo = malloc(sizeof(tiponodo));
  3.   nuevo->valor = v;
  4.   nuevo->siguiente = *pil;
  5.   *pil = nuevo;
  6. }

Como puedes ver en la linea 5 el valor de pil, que en realidad es una dirección de memoria, recibe el valor del puntero nuevo. Si no se hubiera usado un puntero a puntero en la llamada a la función, ésta trabajaría con una copia local de la dirección del puntero pil y, al salir del ámbito de la función push, no habría habido cambios en main, con lo que el programa no haría lo que debería hacer.

La forma de trabajar es la misma que si fuera un dato normal:
Por ejemplo una función declarada así
Código
  1. void cambiar_int(int* i);
ya puedes imaginar que se cambiará el contenido del entero i que se le pase con
Código
  1. cambiar_int(un_numero);
Pues de la misma forma puedes esperarte que a la siguiente función
Código
  1. void cambiar_direccion(int** p);
servirá para que puedas cambiar la dirección a la que apunta un puntero que le pases así:
Código
  1. cambiar_direccion(&un_puntero_a_int);
Aunque cuidado, porqué también se puede referir a que se va a pasar una tabla, pero eso ya es otro tema.
Páginas: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [101] 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 119
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines