valgrind, dicho programa produce un error.
Esto se debe a que el compilador añade a los struct
unos campos invisibles para conseguir que el tamaño total del registro sea
múltiplo de 4, y para el valgrind esos campos están marcados como
sin inicializar, por lo que al hacer f.write(...) el
valgrind da error por acceder a una zona de memoria sin inicializar (como
hace cuando se utiliza una variable sin haberle dado valor antes).
La solución provisional (hasta encontrar una forma de indicarle al
valgrind que no debe dar error en ese caso) es no utilizar el valgrind
cuando se escriben registros en ficheros binarios, que es lo que hace el
autocorrector en la prueba 6.
Procesador debe aparecer antes que la categoría
memoria.
articulos.dat puede tener los
artículos desordenados (como dice el enunciado de la
práctica) pero no va a tener códigos duplicados, es decir,
cada artículo tendrá un código único (no es
necesario comprobarlo cuando se lee el fichero, se puede asumir que va
a ser así).
articulos.dat con los
artículos desordenados, ya que si se utiliza el fichero generado por la
propia práctica los artículos del fichero estarán ya ordenados y no se
podrá probar que la función de lectura los ordena correctamente. En unos
días se publicará el autocorrector y un fichero articulos.dat.