al principio, he creado la matriz de ficheros asi: FILE f2[10]; y funcionaba bien. pero despues he decidido hacerlo con memoria dinamica, usando realloc, pero ahi ya me ha dado problemas.
Código C:
Ver original
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *f1, *f2, *f3; char buffer[10000], name[100]="/home/.../Escritorio/.../salida.000"; char nombre[100]; int leidos=0, tamano=0, kbparte = 0, nfiles=0, i=0, j=0, pos=0, g=49; if (f1==NULL) { return -1; } if(leidos == 0) { return -1; } if(leidos == -1) { return -1; } while(leidos != 0) { if(f2==NULL) { return -1; } nfiles++; if (f2==NULL) { return -1; } buffer[0]='0'; if(leidos == -1) { return -1; } name[pos] = g; g++; //i++; f2++; } return 0; }
lo mas seguro es que el error este en la linea del REALLOC
ERROR:
Código:
Nombre del archivo: archivo1.dat Tamano: 53 bytes Bytes por parte: 10 *** glibc detected *** ./prog: realloc(): invalid pointer: 0x085a9214 *** ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x46b591] /lib/tls/i686/cmov/libc.so.6(realloc+0x2bb)[0x47117b] ./prog[0x8048a04] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x416bd6] ./prog[0x80486f1] ======= Memory map: ======== 00214000-00231000 r-xp 00000000 08:03 2654291 /lib/libgcc_s.so.1 00231000-00232000 r--p 0001c000 08:03 2654291 /lib/libgcc_s.so.1 00232000-00233000 rw-p 0001d000 08:03 2654291 /lib/libgcc_s.so.1 00400000-00553000 r-xp 00000000 08:03 2679452 /lib/tls/i686/cmov/libc-2.11.1.so 00553000-00554000 ---p 00153000 08:03 2679452 /lib/tls/i686/cmov/libc-2.11.1.so 00554000-00556000 r--p 00153000 08:03 2679452 /lib/tls/i686/cmov/libc-2.11.1.so 00556000-00557000 rw-p 00155000 08:03 2679452 /lib/tls/i686/cmov/libc-2.11.1.so 00557000-0055a000 rw-p 00000000 00:00 0 005f1000-0060c000 r-xp 00000000 08:03 2654853 /lib/ld-2.11.1.so 0060c000-0060d000 r--p 0001a000 08:03 2654853 /lib/ld-2.11.1.so 0060d000-0060e000 rw-p 0001b000 08:03 2654853 /lib/ld-2.11.1.so 006b5000-006b6000 r-xp 00000000 00:00 0 [vdso] 08048000-08049000 r-xp 00000000 08:03 3851841 /home/.../Escritorio/.../prog 08049000-0804a000 r--p 00000000 08:03 3851841 /home/.../Escritorio/.../prog 0804a000-0804b000 rw-p 00001000 08:03 3851841 /home/.../Escritorio/.../prog 085a9000-085ca000 rw-p 00000000 00:00 0 [heap] b7819000-b781a000 rw-p 00000000 00:00 0 b782d000-b7833000 rw-p 00000000 00:00 0 bf88e000-bf8a3000 rw-p 00000000 00:00 0 [stack] Cancelado