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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ... 122
671  Programación / Programación C/C++ / Re: por que el lenguaje C/C++ cambia en cada compilador en: 24 Junio 2010, 19:45 pm
linux1, la librería a la cual te referís no es estándar. Intenta hacer un programa básico utilizando stdio.h (cstdio en c++) y veras que compila en cualquier entorno de trabajo.

Compra o descarga el libro que te recomendó nicolas_cof:

Cómo Programar en C/C++ - Harvey M. Deitel, Paul J. Deitel

saludos


672  Programación / Programación C/C++ / Re: Acceso aleatorio a archivos binarios, a ver si alguien puede ayudarme en: 24 Junio 2010, 19:42 pm
Nico, abriéndolo en ate sucede el mismo problema. Es decir, en la próxima apertura del archivo, el contenido se vacía.


Sigue habiendo un problemilla.

::app me sitúa al final del fichero siempre antes de cualquier operación de salida, incluso después de hacer seekp

Bueno, voy a investigar un poco por mi cuenta. Si no consigo nada lo haré sin streams.


Si, precisamente por eso te dije que el calculo de posiciones lo tendrías que cambiar. Es la forma mas fácil para escribir siempre al final del fichero, en todo caso si luego necesitas sobrescribir una sección moviendo el puntero podes abrir el archivo para input/output.

Código
  1.     fstream grabado;
  2.     grabado.open("datos.dat", ios::out|ios::in| ios::binary);

Pero por supuesto si el archivo no existe esto te dará error, por lo tanto primero tenes que chequear que el archivo exista ya sea abriéndolo para lectura y verificando las salidas:

Citar
On failure, the failbit flag is set (which can be checked with member fail), and depending on the value set with exceptions an exception may be thrown.

o bien utilizando funciones especificas del sistema, o alguna librería multiplataforma.

Saludos!
673  Programación / Programación C/C++ / Re: URGENTE!!! en: 24 Junio 2010, 00:33 am
amilcar5 , bienvenido/a al foro. Usa el buscador que seguramente encontraras ejemplos de lo que queres hacer, pero ten en cuenta que en esta sección no se hacen tareas.

Lee las reglas

Citar
Reglas del subforo:
  • Este no es un subforo donde se soliciten tareas, sino un lugar donde resolver dudas.

Como ultimo, utiliza títulos descriptivos y no abuses de las mayúsculas (ya que se considera como que estas gritando).

Saludos

Cerrado
674  Programación / Programación C/C++ / Re: Acceso aleatorio a archivos binarios, a ver si alguien puede ayudarme en: 24 Junio 2010, 00:14 am
De nada, para eso estamos  :D. En cuanto a lo del manual, no se cual estarás leyendo pero tenes un post en las chinchetas con varios libros para elegir.

Cualquier cosa ya sabes.

Saludos!
675  Programación / Programación C/C++ / Re: ayuda con explicacion de codigo en: 24 Junio 2010, 00:10 am
Fatmf44 ya posteaste lo mismo en otro hilo. Lee nuevamente las respuestas que te dieron en el, y en el caso que tengas alguna duda puntual, la realizas allí.

Recuerda que en esta sección no se hacen tareas, dale una leída a las reglas

Saludos

Cerrado
676  Programación / Programación C/C++ / Re: Acceso aleatorio a archivos binarios, a ver si alguien puede ayudarme en: 23 Junio 2010, 17:50 pm
Modificando la apertura del archivo para que no vacié el contenido, busca sobre los métodos de apertura. ::app por ejemplo te podría servir, pero primero tienes que modificar el método de calculo de posiciones.

Saludos
677  Programación / Programación C/C++ / Re: Acceso aleatorio a archivos binarios, a ver si alguien puede ayudarme en: 23 Junio 2010, 07:07 am
No no hay ninguna. Si queres escribir los datos en forma aleatoria, basta con poner el puntero en una posición relacionada con algún criterio variante, lo cual es precisamente lo que estas haciendo ahora y teóricamente mal no esta (a pesar que tenga los problemas que ya mencione antes). El problema radica en que en cada apertura descartas el contenido del archivo existente.

Obviamente tenes mil formas de ordenar el archivo, lo ideal en este caso seria que cada estructura este detras de la otra en pos de no perder el acceso aleatorio y obtener un archivo lo mas reducido posible.

No veo la necesidad de crear un buffer para todo el archivo, no te daría ninguna ventaja respecto de lo que estas haciendo y en algún punto incluso te podría traer problemas cuando el tamaño del archivo sea considerablemente grande.

Saludos
678  Programación / Programación C/C++ / Re: Acceso aleatorio a archivos binarios, a ver si alguien puede ayudarme en: 23 Junio 2010, 06:34 am
Bueno lo primero y principal es que deberías no utilizar tanto las variables globales. Hacen el código un poco mas difícil de seguir ya que cualquier función puede modificar su contenido.
En cuanto al problema, el principal esta en la apertura del archivo. Tanto ios::out como ios::out|ios::trunc primero descartan el contenido (crean el archivo solo si no existe, pero descartan el contenido existente en el).

Otra cosa que veo que deberías modificar es el método del calculo de posiciones, es bastante propenso a errores.
Supongamos que no tenes ningún dato, y el ID es 1400, tu archivo quedaría algo así:

1400*sizeof(data)bytes
NULL|NULL|NULL|NULL|| contenido ||


lo cual no es lo mas adecuado y de seguro te traerá problemas como archivos excesivamente grandes, punteros a archivo que no apuntan donde deben, superposición de datos y demás.

No he visto mucho mas, pero también deberías chequear los estados del stream (failbit, badbit, etc) para asegurarte de evitar otros tipos de errores.

Como ultimo, las etiquetas GeSHI utilízalas de esta forma:

C
[code=c]codigo[/code]

C++
[code=cpp]codigo[/code]

Saludos!
679  Programación / Programación C/C++ / Re: resolver programas en: 21 Junio 2010, 23:07 pm
Cerrado:
Reglas

680  Foros Generales / Foro Libre / Re: ¡Vota por tus moderadores preferidos! en: 21 Junio 2010, 20:15 pm
Muchas gracias a los que me votaron! considerando que llevo unos 2 o 3 días de moderador, ya me puedo dar por hecho  ;-) ;D.
Ya que todos ponen a los que votaron, yo vote por:

Novlucker: No solo ayuda en varias secciones, ademas es un excelente global (tal vez el mejor). Pero por sobre todas las cosas, un gran tipo.  ;)

Aprendiz-oscuro: Las risas que me saca este muchacho son tremendas, un tío de p*** madre como bien diría algún Español. Ni hablar que hoy en día junto con Artik es uno de los pilares de la sección de hardware.

Eternal Idol: Me ha ayudado tantas veces que debería hacerle un monumento. Si no es el mejor programador del foro, pega en el palo. Una gran persona y un usuario que considero de los mas valiosos que tiene el foro.

Artikbot: Otro tio de ptm, el foro de hardware no seria lo que es si no fuese por el.
 
El-brujo: Muchas veces los usuarios no toman conciencia del trabajo que hay detrás de un foro para que este funcione correctamente. Por eso creo que se merece un voto no solo por el trabajo como moderador, si no también como administrador.

Creo que no me he olvidado de nadie, seguramente haya otros que podría haber votado, pero estos son -por lo menos para mi- los primeros en la lista. Eso si, le regalaría un voto a quien me diga quien es Mariadelamol  :laugh:

Saludos!
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines