![]() |
Mòdul
8
![]() |
Fonaments de
Programació. Llenguatge C/C++![]() |
Pràctica ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
Pràctica
d'ampliació ![]() ![]() |
Creació d'un arxiu de text. Escriptura i lectura de
caràcters. Les funcions fgetc() i fputc().
En aquesta pràctica aprendrem com obrir i tancar un arxiu per escriure i per llegir en ell. Coneixerem les funcions per llegir i escriure un únic caràcter.
|
||||||||||||||
![]() |
Desenvolupament de la pràctica
Creeu un nou espai de treball per aquest últim mòdul amb el nom: m8. Aneu afegint un projecte nou del tipus Win32 Console Application per cada nova pràctica o exercici amb els noms que cada vegada es proposi. Definiu un projecte nou anomenat m8p01 i afegiu-li un arxiu de font C/C++ anomenat m8p01.cpp. Escriviu el següent codi:
Explicació del programa La següent sentència és una forma habitual d'obrir un arxiu:
En aquest cas, s'obre un arxiu de nom arxiu.txt en mode escriptura (w). La variable f és una variable punter del tipus FILE. L'estructura FILE està definida a l'arxiu capçalera stdio.h, per tant és necessari incloure la directiva #include <stdio.h> en qualsevol programa que utilitzi arxius. Si la funció fopen() torna el valor NULL vol dir que ha trobat un error i sortirà el missatge d'error i sortirà del programa. La següent línia és la que s'encarrega d'escriure en el fitxer els caràcters entrats per teclat. Això és fa sempre que el caràcter llegit del teclat amb la funció getchar() no sigui el caràcter de retorn de línia (\n), és a dir, INTRO. La funció que s'encarrega d'enviar un caràcter al fitxer és la funció putc(), el primer argument d'aquesta funció és un caràcter o variable de caràcter i el segon argument és una variable punter FILE.
Després d'escriure el text, es tanca l'arxiu amb la funció fclose(). És important tancar els arxius fonamentalment per dues raons:
Per procedir a la lectura de l'arxiu, es torna a obrir aquest, en aquest cas en mode de lectura (r):
La línia:
és la que llegeix un caràcter del fitxer (amb la funció getc()) fins que trobi la marca EOF de final d'arxiu i escriu el caràcter llegit a la pantalla amb la funció putchar(). Les quatre funcions d'entrada i sortida tractades en aquesta pràctica són:
|