20/01/2007, 21:57
|
| | | Fecha de Ingreso: noviembre-2002 Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes Puntos: 52 | |
Re: dudas code Atu primer pregunta. Efectivamente tienes un error muy muy escondido.
Y es que usas i sin haberlo inicializado.
sustituye
int i,i2,i3,i4,i5;
por
int i=0,i2,i3,i4,i5;
y con eso jala.
A la siguiente rpegunta, lo mas que te puedo decir es lo siguiente:
fgets lee hasta encontrar un \n(osea un retorno), por eso se dice que lee una linea. Y lo guarda en una array. fscanf originalmente lee hasta encontrar un espacio. O mas bien lee por espacios. fread lee por bloque, la cantidad de bytes que tu queiras que lea.
aqui el chiste es o usar fscanf inteligentemente o usar fgets o fread y luego con las funciones de string.h ir separando conforme la necesidad de cada quien.
A tu tercera pregunta...
Obviamente no puedes declarar arrays vacios. Y si muchos manuales dicen que sis e puede, pero no, no se puede. En la version del nuevo estandar no se puede, ya que para eso se usan los punteros. Tu creas un puntero que es lo mismo que un array vacio. Luego en ejecucion almacenas un espacio a ese puntero que es como darle un tamaño al array dentro de la ejecucion. Y ahi se guarda lo que se quiere y al final esa memoria almacenada se libera.
Espero haberte ayudado.
Saludos |