UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

9.8.3. Guardando cadenas en un fichero (con fwrite)

Recursos

Plan de trabajo

  1. Escribe un programa con nombre fwrite_getline.c (que encontrarás en tu carpeta fwrite) que realice las siguientes operaciones:

    1. Compruebe que el programa se ejecuta con sólo un argumento. En caso de que no sea así, imprime un mensaje y termina.

    2. Abre el fichero cuyo nombre es la cadena pasada como único argumento. Si la operación falla, notificar mediante un mensaje y terminar la ejecución.

    3. Va pidiéndole al usuario por pantalla que introduzca introduzca una cadena o CTRL+D para terminar el programa (usando la función getline). getline).

      Calcula el tamaño de la cadena (con strlen) y guarda en el fichero con la función fwrite tanto el tamaño como la cadena. Cuando el usuario quiere terminar el programa debe pulsar a la vez CTRL+D.

      El programa comprobará que ha introducido CTRL+D comprobando el valor devuelto por getline (lee sobre getline en su página de manual).

      Se recuerda que getline realiza internamente un malloc (si no lo hace explícitamente el usuario), por lo que deberá realizarse tantas llamadas a free como llamadas a malloc se hayan hecho.

    4. Cierra el fichero y si la operación produce un error, notifícalo con un mensaje por pantalla.

  2. Sube el programa a la carpeta fwrite de tu espacio de trabajo en Subversion.