estoy haciendo un proyecto de fin de grado en el cual con un wav lo paso a array (con la libreria sndfile) y ese array lo meto en un fichero con varios datos más, el tema está en que son 18000 valores y al usar fprintf para irlos metiendo en el fichero cuando escribe 9907 carácteres introduce un salto de línea sin venir a cuento, llevo varios quebraderos de cabeza y ya empiezo a desesperarme.
El código donde se introducen los datos al fichero es el siguiente:
Citar
f = info.frames;
sr = info.samplerate;
c = info.channels;
num_items = f*c;
int arrayPrueba [num_items];
/* Allocate space for the data to be read, then read it. */
buf = (int *) malloc(num_items*sizeof(int));
num = sf_read_int(sf,buf,num_items);
sf_close(sf);
printf("Read %d items\n",num);
/* Write the data to filedata.out. */
out = fopen("filedata.data","w");
fprintf(out,"13 18000 1\n");
for (i = 0; i < num; i += c)
{
for (j = 0; j < c; ++j)
fprintf(out,"%d ",buf[i+j]);}
}
fprintf(out,"\n%d\n",pasos);
fclose(out);
sr = info.samplerate;
c = info.channels;
num_items = f*c;
int arrayPrueba [num_items];
/* Allocate space for the data to be read, then read it. */
buf = (int *) malloc(num_items*sizeof(int));
num = sf_read_int(sf,buf,num_items);
sf_close(sf);
printf("Read %d items\n",num);
/* Write the data to filedata.out. */
out = fopen("filedata.data","w");
fprintf(out,"13 18000 1\n");
for (i = 0; i < num; i += c)
{
for (j = 0; j < c; ++j)
fprintf(out,"%d ",buf[i+j]);}
}
fprintf(out,"\n%d\n",pasos);
fclose(out);
El caso es que necesito el fichero para utilizarlo con FANN, una librería de redes neuronales, como fichero de entrenamiento, y me tira error al pasárselo, lo que supongo que debe ser ese salto de línea.
Saludos y Gracias de antemano!