Departamento de Informática y Sistemas Ejercicios AV 09 : Archivos Fundamentos de Informática Grado en Ingeniería Química 1. A la vista de la siguiente línea de código, escribe la operación de apertura de un archivo cuyo nombre está establecido con una directiva #define ARCH “media.txt” (la instrucción completa, sin control de errores y sin espacios en blanco) fprintf(fich,”La media es %.2f\n”,media); 2. Se quieren añadir líneas de texto a un archivo cuyo nombre esta establecido con una directiva #define ARCHI “datos.txt”, asignándolo a la variable fic, de tipo FILE. Escribe la instrucción de apertura del archivo (la instrucción completa, sin control de errores y sin espacios en blanco) 3. Se quiere generar un archivo con datos de tipo real, de manera que la información quede representada con precisión y el archivo lo más compacto posible. Indica el valor del parámetro modo de apertura de la función que abre el archivo (sin las comillas). 4. Se quieren escribir los números del 1 al 100 en un archivo ASCII. Indica la instrucción que debe ponerse en lugar de ???? para que funcione correctamente (nota: la respuesta no contiene espacios en blanco). #include <stdio.h> main() { FILE *f; int i; f=fopen(“fichero.txt”, “w”); for(i=0; i<100; i++) fprintf(f,”%d\n”, i); ???? } 5. Indica qué debe ponerse en el siguiente código en lugar de ???? para que funcione correctamente (nota: la respuesta no contiene espacios en blanco). FILE *f; f = fopen (“in.txt”,”r” ); if (????) { printf("Error al abrir archivo\nPulsa …"); getchar(); exit(1); } Departamento de Informática y Sistemas 6. Indica qué imprime el siguiente fragmento de código si la sentencia fscanf se ejecuta correctamente. h = fscanf(f,"Datos: %f %d %c %d",&a,&b,&c,&d); printf(“%d”,h); 7. Escribe la instrucción necesaria para leer de un archivo asignado a la variable fic el texto “Temp:28.2,Viento:14.1”, introduciendo los valores de temperatura y viento en dos variables te y vien. (nota: la respuesta no contiene espacios en blanco) 8. El siguiente programa lee un archivo y escribe otro igual al primero salvo que sustituye cada carácter ‘a’ por ‘A’. Escribe el código que sustituye a ???? (Nota: la respuesta no contiene espacios en blanco. Sin control de errores). #define NA1 "datos.txt" #define NA2 "salida.txt" main() { int c; FILE *fe,*fs; fe=fopen(NA1,"r");fs=fopen(NA2,"w"); while ((c=fgetc(fe)) != EOF) { if (c=='a') c=’A’; ???? } fclose(fs);fclose(fe); } 9. Indica qué contendrá el archivo “out.txt” cuando se ejecute el siguiente programa, si el archivo “in.txt” contiene la cadena: Todas las islas, incluso las conocidas, son desconocidas mientras no desembarquemos en ellas. int c; FILE *fe,*fs; fe=fopen(“in.txt”,"r"); fs=fopen(“out.txt”,"w"); while ((c=fgetc(fe)) != EOF) { if (c=='s') c=fgetc(fe); if (c=='i') c++; fputc(c,fs); } fclose(fs);fclose(fe); ---