SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: txerry2004 en Domingo 17 de Junio de 2007, 16:09
-
Hola a todos,
Mi problema es el siguiente: Tengo un vector de strings de tamaño 30 con el path completo de varios ficheros. Intento con un bucle abrirlos todos y escribir el contenido en otro fichero de la forma:
for(i=0;i<files.size();i++)
{
input=fopen(files.c_str(),"r");
if(input==NULL)
{
cout<<"File "<<files<<" not opened"<<endl;
getchar();
exit(0);
}
if(i==0)
out=fopen(outfile,"w");
else
out=fopen(outfile,"a");
if(out==NULL)
{
cout<<"File written not opened"<<endl;
getchar();
exit(0);
}
while(!feof(input))
{
fgets(buffer,sizeof(buffer),input);
fprintf(out,"%s",buffer);
}
rewind(input);
fclose(input);
fclose(out);
}
Pero sólo abre el primer fichero y luego casca el programa. abriendo los ficheros por separado y escribiendo, funciona, por lo que no es el path.
¿sabéis como lo puedo solucionar?
Muchas gracias
-
Depuralo para ver donde la excepcion no controlada.
-
El primer fichero se abre/escribe bien. A partir del segundo fichero, ya no funciona(ni siquiera dice si se abre o no)..No hay desbordamiento de lectura. He probado con un array de FILE's, y tampoco funciona...
-
El primer fichero se abre/escribe bien. A partir del segundo fichero, ya no funciona(ni siquiera dice si se abre o no)..No hay desbordamiento de lectura. He probado con un array de FILE's, y tampoco funciona...
Comproba el contenido de la cadena, tal vez no es valida.
-
¡¡ UN ERROR DE NOVATO !! Al inicializar el buffer de lectura/escritura dentro del bucle for en el while, he empleado el contador i, que es l mismo que el contador del bucle inicial!!
Ya está resuelto...Grcias de todas formas....