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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [82] 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ... 161
811  Programación / Programación C/C++ / Re: Lenguaje C : Ayuda con vectores porfavor en: 20 Mayo 2017, 12:03 pm
He estado mirando esto y hay algunos errores de base.

El 0 es el número a modificar si alguna entrada posterior existe con otro número.
Tu función NuevaFila por defecto la crea con el 0, por tanto si no hay entradas iguales se queda con 0.

Esto llevará a:
Si aparece una entrada que ya exista y esta lleva 0 tendrá 0.
En un archivo nuevo desde este programa todas las líneas tendrán 0.

Por cierto, append, la "a" de fopen, hace que el archivo crezca por el final, no por el principio.
Deberías replantear de nuevo el programa.
812  Programación / Programación C/C++ / Re: Lenguaje C : Ayuda con vectores porfavor en: 19 Mayo 2017, 23:58 pm
El fuente con el error, para tener una base con la que partir.
813  Programación / Programación C/C++ / Re: programa en c que cuente vocales,consonantes,digitos etc en: 19 Mayo 2017, 18:47 pm
Busca info sobre la libreria ctype. Tiene funciones para saber si un caracter es alfabético, numérico, caracter en blanco, imprimible....

Tu algoritmo para consonantes es muy engorroso. Bastaría con que usaras isalpha para saber si es una letra y no es a e i o u.

De igual forma tu algoritmo para los números està mal. Tu buscas la representación de los números, no los valores del 0 al 9. Recuerda que el valor decimal 0 indica el fin de cadena.
814  Programación / Programación C/C++ / Re: (duda) Crear un archivo con funciones para poder usarlas. en: 19 Mayo 2017, 14:09 pm
Sí, de hecho esto es la base de la programación modular. Es lo mismo que te han enseñado para las clases pero sin encerrar las funciones dentro de una clase.
Por una parte creas el archivo de cabecera con las declaraciones de las funciones y por otra un archivo de implementación que llevará las definiciones. En éste último harás include del primero.
Compilas el archivo para crear un archivo objeto, librería estática o librería dinámica.
En el programa cliente incluyes la cabecera y a la hora de enlazar para generar el ejecutable o librería debes indicar al enlazador que debe usar el archivo objeto, librería estática o librería dinámica que has compilado con anterioridad.

Ejemplo:
Cabecera: suma.h
Código
  1. #ifndef SUMA_H
  2. #define SUMA_H
  3.  
  4. int suma(int a, int b, int c);
  5.  
  6. #endif

Implementación: suma.c
Código
  1. #include "suma.h"
  2.  
  3. int suma(int a, int b, int c) {
  4.    return a + b + c;
  5. }

Ahora en gcc se genera el archivo objeto suma.o:
Código
  1. gcc -c suma.c

Programa cliente: programa.c
Código
  1. #include <stdio.h>
  2. #include "suma.h"
  3.  
  4. int main() {
  5.    printf("%d\n", suma(1, 2, 3));
  6. }

Ahora en gcc se compila el programa entero.
Código
  1. gcc programa.c suma.o -o programa

En el archivo de cabecera se pueden ver las guardas con hechas con directivas de preprocesador. Esto es para que no se incluya más de una vez la misma cabecera, cosa que crearía conflictos.
815  Programación / Programación C/C++ / Re: como meter datos en un array en: 18 Mayo 2017, 20:12 pm
Por lo que entiendo es un array de cadenas y se comprueba que la cadena introducida es diferente a la anterior y a la siguiente (si la hubiera). Y si la cadena introducida son todos ceros no se incrementa un contador.
816  Programación / Programación C/C++ / Re: Problema al modificar registro en un archivo en: 18 Mayo 2017, 20:06 pm
Vale, tienes un pequeño problema pero es muy engorroso. No es difícil de arreglar, pero sí que conlleva escribir bastante código y a estructuras más grandes más código a escribir.

Verás. Se llama memory padding, en español acomodación de la memoria. ¿De qué se trata?

C, y por extensión C++, vienen de un tiempo donde la memoria era algo precioso (escasa y cara) y los procesadores eran muy lentos por lo que el lenguaje mismo ayudaba a que los datos, estructuras, ocuparan lo mínimo posible pero al mismo tiempo que el acceso a sus datos fuera lo más rápido posible. Así que acomodaba los datos, no en el orden que había dictado el programador, sino que hacía que quedaran múltiplos al tamaño de palabra del procesador y con el menor número de huecos posibles. Ya, suena complicado, para entenderlo te invito a que profundices en manejo de memoria por parte de C.

¿En qué te afecta? Cuando tienes una estructura y la quieres copiar toda de una vez en un archivo C, y por extensión C++, copiará literalmente esa porción de memoria en el archivo y lo hará todo lo desordenada (para él ordenada) que sea, así que los campos en el disco no están como esperas. De esta forma cuándo vayas a sacarlos y copiarlos de nuevo a una estructura copiará tal cual del disco y lo situará en la porción de memoria que tienes byte a byte. Un desastre.

¿Qué puedes hacer? Existen extensiones del compilador, y por tanto no es portable el código, que aseguran que en memoria los datos van a estar tal cual lo has escrito en el código.
O
Una forma más portable, es copiar uno a uno los campos de la estructura en el disco y, a la hora de leerlos, adquirirlos uno a uno llenando así la estructura destino.
817  Programación / Programación C/C++ / Re: Problema al modificar registro en un archivo en: 18 Mayo 2017, 15:18 pm
Y una copia del archivo, sino no podemos probar.

Ahora que me fijo: buscas datos binarios en el archivo pero lo abres para texto, por eso tienes problemas a la hora de conseguir datos.
818  Programación / Programación C/C++ / Re: Cronometro con arduino y 7 segmentos en: 17 Mayo 2017, 21:42 pm
¿Pero qué no sabes, conectarlos al Arduino físicamente o leerlos desde el programa?
819  Programación / Programación C/C++ / Re: Hola, quiero modificar los tags de un archivo mp3, ayuda porfavor en: 17 Mayo 2017, 21:39 pm
Échale un vistazo a ésta página: http://id3.org

Tienen información sobre todo sobre las etiquetas de los mp3. Además enlazan con una librería que, además de acceder a los metadatos del mp3, también soporta otros formatos de audio, cómo ogg, flac, etc.
820  Programación / Programación C/C++ / Re: Buscador (C) en: 17 Mayo 2017, 13:02 pm
Las instrucciones malloc no se ejecutan así, además en C mo hace falta realizar el cast.
Es más, el cast que haces está mal porque tu necesitas que sea puntero a char y lo haces a puntero a int.
Páginas: 1 ... 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [82] 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines