SlideShare a Scribd company logo
1 of 21
ÔÀÉËÒÀÉ
ÀÆÈËËÀÕ
Õè÷ýýë 14
ÕÈ÷ÝÝËÈÉÍ ÀÃÓÓËÃÀ
Ôàéë äýýð õèéãäýõ ¿éëäë¿¿ä
Ôàéë íýýõ
Ôàéëûí òºðºë
Ôàéëààñ óíøèõ, áè÷èõ
Ôàéëûí çààã÷
2
ÔÀÉË ÍÝÝÕ
3
 Ôàéëààñ óíøèõ, ôàéëä áè÷èõ ¿éëäýë ã¿éöýò-
ãýõýýñýý ºìíº òóõàéí ôàéëûã íýýõ õýðýãòýé.
 Ôàéëûã íýýõ ¿éëäýë íü òóõàéí ôàéëòàé
àæèëëàõàä øààðäëàãàòàé ìýäýýëýë, á¿òö¿¿äèéã
¿¿ñãýäýã áà ýíý íü ¿éëäëèéí óäèðäëàãûí àñóóäàë
áîëíî.
 Óíøèõ,áè÷èõ ¿éë àæèëëàãààíä àøèãëàãäàõ áóôåð
 Óíøèõ, áè÷èõ èäýâõòýé áàéðëàë
 Àëäààíû íºõöºë, áàéäàë, òºëºâ
 Ôàéëûí àòòðèáóòóóä, áàéðøëûí ìýäýýëýë
ÔÀÉË ÍÝÝÕ
4
 Ñè õýëýíä ôàéë íýýäýã ñòàíäàðò ôóíêö
áàéäàã.
 Áè÷èãäýõ õýëáýð :
FILE *fopen(char *name, char *mode)
 name - ôàéëûí çàì íýð
 mode - ôàéëûí íýýõ òºëºâ
 Æèøýý :
 f = fopen(“c:example.dat”,”rw”);
FILE Á¿ÒÝÖ
fopen ôóíêöûã äóóäàõàä çààã÷ á¿òýö áóöààäàã áà
ýíý á¿òýö íü òóõàéí ôàéëûí òóõàé ìýäýýëëèéã
àãóóëæ áàéäàã.
FILE *f;
f = fopen(“c:example.dat”,”rw”);
ªºðººð õýëáýë ôàéëûã íýýñíèé äàðàà òóõàéí
ôàéëòàé àæèëëàõ ¿éë àæèëëàãààíä FILE òºðëèéí
ýíý õóâüñàã÷ àøèãëàãääàã.
5
ÆÈØÝÝ
#include<stdio.h>
FILE *f; char s[100];
main()
{ f=fopen("noname.c","rt+"); fscanf(f,"%s",s);
printf("nBUFFER : %snn",f->buffer); getch();
printf("nPOSITIN: %snn",f->curp);
switch(f->flags)
{ case _F_READ: printf(" Read-only file"); break;
case _F_ERR: printf(" Error indicator"); break;
case _F_EOF: printf(" EOF indicator"); break;
} fclose(f);
}
6
ÔÀÉË ÍÝÝÕ - Ҫ˪Â
fopen ôóíêöýýð ôàéë íýýõèéí òóëä ÿìàð áàéäëààð
òóõàéí ôàéëûã íýýõ âý ãýäýã òºëâèéã òîäîðõîéëæ ºãºõ
õýðýãòýé.
Òºëâèéã “” õààëòàíä çààæ ºãºõ áà ýíä äîîðõ
òºëºâ¿¿äýýñ çààæ ºãíº.
r - Ôàéëûã çºâõºí óíøèõààð íýýõ
( Ôàéëä áè÷èëò õèéõã¿é, óíøèæ ë áîëíî. )
w - Õýðýâ óã òîäîðõîéëñîí íýðòýé ôàéë áàéõã¿é
áîë ¿¿ñãýíý, áàéâàë áè÷èõýýð íýýõ áîëîâ÷
ôàéëûí äîòîðõè àãóóëãà óñòàíà !!! )
7
Ҫ˪Â
a - Ôàéëûí òºãñãºëä ë áè÷èëò õèéõýýð íýýõ
(Õýðýâ ôàéë áàéõã¿é áîë ¿¿ñãýí áè÷èõýýð íýýõ)
+ - Ôàéëä óíøèëò/áè÷èëò õèéõýýð õàíäàõ
( ¯ðãýëæ õîñëîí õýðýãëýãääýã )
r+ - Ôàéëä çàñâàð õèéõýýð íýýõ
w+ - Óíøèæ, áè÷èõýýð øèíý ôàéë íýýõ
( Õýðýâ ôàéë áàéâàë, äîòîðõ íü óñòàíà. )
b - Ôàéëûã õî¸ðòûí ãîðèìä íýýõ
t - Ôàéëûã òåêñò ãîðèìä íýýõ
8
ÀËÄÀÀ ØÀËÃÀÕ
Ôàéëòàé àæèëëàõäàà òóõàéí ¿éëäýë õýðõýí çºâ
ã¿éöýòãýãäýæ áàéãàà , àëäàà ãàðñàí ýñýõèéã øàëãàæ
áàéõ ¸ñòîé. Ôàéë íýýõ ¿éëäýëä õýðâýý ôàéë
àìæèëòã¿é íýýãäñýí áîë fopen ôóíêö NULL óòãà
áóöààäàã.
Æèøýý :
FILE *f;
f=fopen("noname.c","rt+");
if( f==NULL )
{ printf(“ Ôàéë íýýõýä àëäàà ãàðëàà. n”); exit(1); }
9
ÀËÄÀÀ ØÀËÃÀÕ - FERROR
ÔÓÍÊÖ
Ôàéëòàé àæèëëàõàä àëäàà ãàðñàí ýñýõèéã
ferror ôóíêöýýð øàëãàæ áîëíî.
Æèøýý :
FILE *f;
f=fopen("noname.c","rt+");
if( ferror(f))
{ printf(“ Ôàéë íýýõýä àëäàà ãàðëàà. n”); exit(1); }
Õýðýâ àëäàà ãàðñàí áîë ýíý ôóíêö òýãýýñ
ÿëãààòàé óòãà áóöààäàã.
10
ÓÐÜÄ÷ÈËÀÍ ÍÝÝÃÄÑÝÍ
ÔÀÉËÓÓÄ
Òàíû ïðîãðàì ýõýëæ àæèëëàõàä äàðààõ
ôàéëóóä óðüä÷èëààä íýýãäñýí áàéäàã. ª.õýëáýë
øóóä àøèãëàæ áîëîõ ôàéëóóä ãýñýí ¿ã.
stdin Ñòàíäàðò îðîëòûí òºõººðºìæ
stdout Ñòàíäàðò ãàðàëòûí òºõººðºìæ
stderr Àëäàà ãàðãàõ ñòàíäàðò òºõººðºìæ
stdaux Ñòàíäàðò aux òºõººðºìæ
stdprn Ñòàíäàðò ïðèíòåð
11
ÓÐÜÄ÷ÈËÀÍ ÍÝÝÃÄÑÝÍ
ÔÀÉËÓÓÄ
Æèøýý :
fprintf(stdout,“ Äýëãýöýíä õýâëýâ. ”);
fprintf(stderr,“ Àëäàà ãàðãàõ òºõººðºìæèä àëäààíû
ìýäýýëýë õýâëýâ. ”);
fprintf(stdprn,“ Ñòàíäàðò ïðèíòåð òºõººðºìæèä
ìýäýýëýë õýâëýâ. ”);
fscanf(stdin, “%s”,Name);
/* Ñòàíäàðò îðîëòûí òºõººðºìæ áóþó ãàðààñ
ìýäýýëýë óíøèæ áàéíà. */
12
ÔÀÉË ÕÀÀÕ
Õýðýâ ôàéëòàé àæèëëàõ ¿éë àæèëëàãààãàà äóóññàí
áîë ôàéëàà çàéëøã¿é õààæ áàé !
Ôàéëûã õààõäàà fclose ôóíêöûã àøèãëàíà.
Æèøýý :
FILE *f;
f=fopen("noname.c","rt+");
. . .
fclose(f);
Õààõ ¿éë àæèëëàãàà íü òóõàéí ôàéëòàé àæèëëàõàä
øààðäàãäàæ áàéñàí îðîí çàé, íººö¿¿äèéã ÷ºëººëæ
áàéãàà ¿éëäýë þì.
13
ÔÀÉËÀÀÑ ÓÍØÈÕ
Ôàéëààñ ºãºãäºë óíøèõûí òóëä äàðààõ ôóíêöóóäûã
àøèãëàæ áîëíî.
fscanf - scanf ôóíêöòýé àäèëààð áóþó
ôîðìàòëàñàí õýëáýðýýð ôàéëààñ óíøèõ
fread - ªãºãäëèéí õýìæýýã çààæ ºãºí óíøèõ
Èõ õýìæýýíèé ºãºãäºë óíøèõàä àøèãëàãäàíà.
fgets - Ôàéëààñ òýìäýãò ìºð óíøèõ
fgetchar, fgetc - Ôàéëààñ íýã òýìäýãò óíøèõ
14
ÆÈØÝÝ :
FILE *f; char s[100];
int mm,dd,yy; int A[20];
main()
{ f=fopen("mydoc.txt","rt+");
fscanf(f,"%s",s); /* Òýìäýãò ìºð óíøèõ */
fscanf(f,”%d/%d/%d”,mm,dd,yy); /* Îí ñàð */
fread(A,sizeof(int),20,f);
/* f ôàéëààñ int òºðºëòýé 20 ýëåìåíòèéã À ìàññèâò
óíøèõ */
fclose(f); }
15
ÔÀÉËÄ ÁÈ÷ÈÕ
Ôàéëä ºãºãäºë áè÷èõèéí òóëä äàðààõ ôóíêöóóäûã
àøèãëàæ áîëíî.
fprintf - printf ôóíêöòýé àäèëààð áóþó
ôîðìàòëàñàí õýëáýðýýð ôàéëä áè÷èõ
fwrite - ªãºãäëèéí õýìæýýã çààæ ºãºí áè÷èõ
Îëîí ýëåìåíò áè÷èõýä àøèãëàãäàíà.
fputs - Ôàéëä òýìäýãò ìºð áè÷èõ
fputchar, fputc - Ôàéëä íýã òýìäýãò áè÷èõ
16
ÆÈØÝÝ
Ôàéëààñ ºãºãäºë óíøèõ, áè÷èõäýý ¿éëäýë çºâ ã¿éöýòãýãäñýí
ýñýõèéã çàéëøã¿é øàëãàæ áàé !
FILE *f; int A[200];
main()
{ f=fopen("mydoc.txt","rt+");
if(fwrite(A,sizeof(int),200,f)==200)
printf(“ Áè÷èëò àìæèëòòàé õèéãäëýý.n ”);
else printf(“ Àëäàà ãàðëàà n ”);
fclose(f);
}
17
ÔÀÉËÛÍ ÇÀÀÃ÷
Òóõàéí ôàéëòàé õàíäàæ àæèëëàõàä õýðýãëýãääýã
íýã ÷óõàë îéëãîëò íü ôàéëûí çààã÷ þì.
Óíøèõ, áè÷èõ ¿éëäýë õèéãäýõ èäýâõòýé
áàéðëàëûã ôàéëûí çààã÷ òîäîðõîéëíî.
Óíøèõ , áè÷èõ ¿éëäýë õèéãäñýíèé äàðàà ôàéëûí
çààã÷ øèëæèæ áàéäàã. Çààã÷ íü ôàéëààñ õýäýí
byte óíøèæ áè÷ñýí õýìæýýãýýð øèëæèíý.
Ôàéëûí çààã÷èéí áàéðëàëûã óíøèæ, ìºí ò¿¿íèéã
øèëæ¿¿ëæ áîëíî.
18
19
feof ôóíêö
Ýíý ôóíêöûã àøèãëàí ôàéëûí çààã÷ ôàéëûí
òºãñãºëä î÷ñîí ýñýõèéã øàëãàíà.
ªãºãäºë óíøèæ áàéõ ¿åä ýíý íü çàéëøã¿é
õèéãäýõ ¸ñòîé øàëãàëò áàéäàã.
f=fopen("mydoc.txt","rt+");
while( !feof(f) ) /* Ôàéëûí òºãñãºë øàëãàõ */
{ fscanf(f,"%d ",&s[i++]); /* Òîî óíøèõ */ }
fclose(f);
Õýðýâ çààã÷ ôàéëûí òºãñãºëä õ¿ðñýí áîë
ò¿¿íýýñ öààø óíøèõ ºãºãäºë áàéõã¿é ãýñýí ¿ã.
20
Ôàéëûí çààã÷èéí áàéðëàë
òîãòîîõ
Ôàéëûí çààã÷èéí áàéðëàëûã ýäãýýð
ôóíêöóóäûã àøèãëàí òîãòîîíî.
 int fgetpos(FILE *fp, fpos_t *pos)
 long ftell(FILE *fp);
Æèøýý :
long pos;
pos=ftell(f);
printf(“ File pointer position : %ld n”,pos);
21
Ôàéëûí çààã÷èéã øèëæ¿¿ëýõ
Ôàéëûí çààã÷èéã äàðààõ ôóíêöóóäûã àøèãëàí
øèëæ¿¿ëäýã.
 int fsetpos( FILE *fp, const fpos_t *pos);
 int fseek(FILE *fp, long offset,int whence);
Æèøýý :
fseek(f,1000,SEEK_SET);
/* Ôàéëûí ýõíýýñ 1000-ð áàéðëàëä */
fseek(f,1000,SEEK_CUR);
/* Èäýâõòýé áàéðëàëààñ õîéø 1000-ð áàéðëàëä */
fseek(f,1000,SEEK_END);
/* Ôàéëûí òºãñãºëººñ óðàãø 1000-ð áàéðëàëä */

More Related Content

What's hot

Εγκύκλιος για τους συνεταιρισμούς
Εγκύκλιος για τους συνεταιρισμούςΕγκύκλιος για τους συνεταιρισμούς
Εγκύκλιος για τους συνεταιρισμούςNTUA
 
Tipuri de lectie
Tipuri de lectieTipuri de lectie
Tipuri de lectienatashcka
 
Freedomes - Spherical Event Solutions
Freedomes -  Spherical Event SolutionsFreedomes -  Spherical Event Solutions
Freedomes - Spherical Event Solutionschopey_viktor
 
Zaaval unshih nom
Zaaval unshih nomZaaval unshih nom
Zaaval unshih nomBaljir
 
Or.reaction
Or.reaction Or.reaction
Or.reaction davaa627
 
8анги атомын бүтэц
8анги атомын бүтэц8анги атомын бүтэц
8анги атомын бүтэцhuu2001
 
Copy of h.el308 l3
Copy of h.el308 l3Copy of h.el308 l3
Copy of h.el308 l3zaluu_medleg
 
Lista Maternidade Salateando - AZUL
Lista Maternidade Salateando - AZULLista Maternidade Salateando - AZUL
Lista Maternidade Salateando - AZULStephanie Salateo
 
Lista Maternidade Salateando - ROSA
Lista Maternidade Salateando - ROSALista Maternidade Salateando - ROSA
Lista Maternidade Salateando - ROSAStephanie Salateo
 
Oh!STUDIO - Agile Outsourcing for Startups
Oh!STUDIO - Agile Outsourcing for StartupsOh!STUDIO - Agile Outsourcing for Startups
Oh!STUDIO - Agile Outsourcing for StartupsOh!STUDIO
 
заавал унших зохиол
заавал унших зохиолзаавал унших зохиол
заавал унших зохиолAltantuya33
 
Projetech Intro Slick Sheet
Projetech Intro Slick SheetProjetech Intro Slick Sheet
Projetech Intro Slick Sheetwally1832
 
iXLc Spreadsheet Management-Validation Tool
iXLc Spreadsheet Management-Validation TooliXLc Spreadsheet Management-Validation Tool
iXLc Spreadsheet Management-Validation Toolivyworks
 
Product info web
Product info webProduct info web
Product info webukwarmfloor
 

What's hot (19)

Εγκύκλιος για τους συνεταιρισμούς
Εγκύκλιος για τους συνεταιρισμούςΕγκύκλιος για τους συνεταιρισμούς
Εγκύκλιος για τους συνεταιρισμούς
 
Tipuri de lectie
Tipuri de lectieTipuri de lectie
Tipuri de lectie
 
Freedomes - Spherical Event Solutions
Freedomes -  Spherical Event SolutionsFreedomes -  Spherical Event Solutions
Freedomes - Spherical Event Solutions
 
Zaaval unshih nom
Zaaval unshih nomZaaval unshih nom
Zaaval unshih nom
 
E1 blank
E1 blankE1 blank
E1 blank
 
Or.reaction
Or.reaction Or.reaction
Or.reaction
 
8анги атомын бүтэц
8анги атомын бүтэц8анги атомын бүтэц
8анги атомын бүтэц
 
Zorilgo
ZorilgoZorilgo
Zorilgo
 
Copy of h.el308 l3
Copy of h.el308 l3Copy of h.el308 l3
Copy of h.el308 l3
 
Lista Maternidade Salateando - AZUL
Lista Maternidade Salateando - AZULLista Maternidade Salateando - AZUL
Lista Maternidade Salateando - AZUL
 
Lista Maternidade Salateando - ROSA
Lista Maternidade Salateando - ROSALista Maternidade Salateando - ROSA
Lista Maternidade Salateando - ROSA
 
Oh!STUDIO - Agile Outsourcing for Startups
Oh!STUDIO - Agile Outsourcing for StartupsOh!STUDIO - Agile Outsourcing for Startups
Oh!STUDIO - Agile Outsourcing for Startups
 
заавал унших зохиол
заавал унших зохиолзаавал унших зохиол
заавал унших зохиол
 
File0053
File0053File0053
File0053
 
Page 12
Page 12Page 12
Page 12
 
Guest Lecture Flyer
Guest Lecture FlyerGuest Lecture Flyer
Guest Lecture Flyer
 
Projetech Intro Slick Sheet
Projetech Intro Slick SheetProjetech Intro Slick Sheet
Projetech Intro Slick Sheet
 
iXLc Spreadsheet Management-Validation Tool
iXLc Spreadsheet Management-Validation TooliXLc Spreadsheet Management-Validation Tool
iXLc Spreadsheet Management-Validation Tool
 
Product info web
Product info webProduct info web
Product info web
 

Viewers also liked (20)

Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 13
Lecture 13Lecture 13
Lecture 13
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Chap15
Chap15Chap15
Chap15
 
Design+Startup 2013
Design+Startup 2013Design+Startup 2013
Design+Startup 2013
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lab
LabLab
Lab
 
Output Screens of wget based web crawler
Output Screens of wget based web crawler Output Screens of wget based web crawler
Output Screens of wget based web crawler
 
"de:coded 2011" winners
"de:coded 2011" winners"de:coded 2011" winners
"de:coded 2011" winners
 
Coding for a wget based Web Crawler
Coding for a wget based Web CrawlerCoding for a wget based Web Crawler
Coding for a wget based Web Crawler
 
Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler
 

Lecture 14

  • 2. ÕÈ÷ÝÝËÈÉÍ ÀÃÓÓËÃÀ Ôàéë äýýð õèéãäýõ ¿éëäë¿¿ä Ôàéë íýýõ Ôàéëûí òºðºë Ôàéëààñ óíøèõ, áè÷èõ Ôàéëûí çààã÷ 2
  • 3. ÔÀÉË ÍÝÝÕ 3  Ôàéëààñ óíøèõ, ôàéëä áè÷èõ ¿éëäýë ã¿éöýò- ãýõýýñýý ºìíº òóõàéí ôàéëûã íýýõ õýðýãòýé.  Ôàéëûã íýýõ ¿éëäýë íü òóõàéí ôàéëòàé àæèëëàõàä øààðäëàãàòàé ìýäýýëýë, á¿òö¿¿äèéã ¿¿ñãýäýã áà ýíý íü ¿éëäëèéí óäèðäëàãûí àñóóäàë áîëíî.  Óíøèõ,áè÷èõ ¿éë àæèëëàãààíä àøèãëàãäàõ áóôåð  Óíøèõ, áè÷èõ èäýâõòýé áàéðëàë  Àëäààíû íºõöºë, áàéäàë, òºëºâ  Ôàéëûí àòòðèáóòóóä, áàéðøëûí ìýäýýëýë
  • 4. ÔÀÉË ÍÝÝÕ 4  Ñè õýëýíä ôàéë íýýäýã ñòàíäàðò ôóíêö áàéäàã.  Áè÷èãäýõ õýëáýð : FILE *fopen(char *name, char *mode)  name - ôàéëûí çàì íýð  mode - ôàéëûí íýýõ òºëºâ  Æèøýý :  f = fopen(“c:example.dat”,”rw”);
  • 5. FILE Á¿ÒÝÖ fopen ôóíêöûã äóóäàõàä çààã÷ á¿òýö áóöààäàã áà ýíý á¿òýö íü òóõàéí ôàéëûí òóõàé ìýäýýëëèéã àãóóëæ áàéäàã. FILE *f; f = fopen(“c:example.dat”,”rw”); ªºðººð õýëáýë ôàéëûã íýýñíèé äàðàà òóõàéí ôàéëòàé àæèëëàõ ¿éë àæèëëàãààíä FILE òºðëèéí ýíý õóâüñàã÷ àøèãëàãääàã. 5
  • 6. ÆÈØÝÝ #include<stdio.h> FILE *f; char s[100]; main() { f=fopen("noname.c","rt+"); fscanf(f,"%s",s); printf("nBUFFER : %snn",f->buffer); getch(); printf("nPOSITIN: %snn",f->curp); switch(f->flags) { case _F_READ: printf(" Read-only file"); break; case _F_ERR: printf(" Error indicator"); break; case _F_EOF: printf(" EOF indicator"); break; } fclose(f); } 6
  • 7. ÔÀÉË ÍÝÝÕ - Ҫ˪ fopen ôóíêöýýð ôàéë íýýõèéí òóëä ÿìàð áàéäëààð òóõàéí ôàéëûã íýýõ âý ãýäýã òºëâèéã òîäîðõîéëæ ºãºõ õýðýãòýé. Òºëâèéã “” õààëòàíä çààæ ºãºõ áà ýíä äîîðõ òºëºâ¿¿äýýñ çààæ ºãíº. r - Ôàéëûã çºâõºí óíøèõààð íýýõ ( Ôàéëä áè÷èëò õèéõã¿é, óíøèæ ë áîëíî. ) w - Õýðýâ óã òîäîðõîéëñîí íýðòýé ôàéë áàéõã¿é áîë ¿¿ñãýíý, áàéâàë áè÷èõýýð íýýõ áîëîâ÷ ôàéëûí äîòîðõè àãóóëãà óñòàíà !!! ) 7
  • 8. Ҫ˪ a - Ôàéëûí òºãñãºëä ë áè÷èëò õèéõýýð íýýõ (Õýðýâ ôàéë áàéõã¿é áîë ¿¿ñãýí áè÷èõýýð íýýõ) + - Ôàéëä óíøèëò/áè÷èëò õèéõýýð õàíäàõ ( ¯ðãýëæ õîñëîí õýðýãëýãääýã ) r+ - Ôàéëä çàñâàð õèéõýýð íýýõ w+ - Óíøèæ, áè÷èõýýð øèíý ôàéë íýýõ ( Õýðýâ ôàéë áàéâàë, äîòîðõ íü óñòàíà. ) b - Ôàéëûã õî¸ðòûí ãîðèìä íýýõ t - Ôàéëûã òåêñò ãîðèìä íýýõ 8
  • 9. ÀËÄÀÀ ØÀËÃÀÕ Ôàéëòàé àæèëëàõäàà òóõàéí ¿éëäýë õýðõýí çºâ ã¿éöýòãýãäýæ áàéãàà , àëäàà ãàðñàí ýñýõèéã øàëãàæ áàéõ ¸ñòîé. Ôàéë íýýõ ¿éëäýëä õýðâýý ôàéë àìæèëòã¿é íýýãäñýí áîë fopen ôóíêö NULL óòãà áóöààäàã. Æèøýý : FILE *f; f=fopen("noname.c","rt+"); if( f==NULL ) { printf(“ Ôàéë íýýõýä àëäàà ãàðëàà. n”); exit(1); } 9
  • 10. ÀËÄÀÀ ØÀËÃÀÕ - FERROR ÔÓÍÊÖ Ôàéëòàé àæèëëàõàä àëäàà ãàðñàí ýñýõèéã ferror ôóíêöýýð øàëãàæ áîëíî. Æèøýý : FILE *f; f=fopen("noname.c","rt+"); if( ferror(f)) { printf(“ Ôàéë íýýõýä àëäàà ãàðëàà. n”); exit(1); } Õýðýâ àëäàà ãàðñàí áîë ýíý ôóíêö òýãýýñ ÿëãààòàé óòãà áóöààäàã. 10
  • 11. ÓÐÜÄ÷ÈËÀÍ ÍÝÝÃÄÑÝÍ ÔÀÉËÓÓÄ Òàíû ïðîãðàì ýõýëæ àæèëëàõàä äàðààõ ôàéëóóä óðüä÷èëààä íýýãäñýí áàéäàã. ª.õýëáýë øóóä àøèãëàæ áîëîõ ôàéëóóä ãýñýí ¿ã. stdin Ñòàíäàðò îðîëòûí òºõººðºìæ stdout Ñòàíäàðò ãàðàëòûí òºõººðºìæ stderr Àëäàà ãàðãàõ ñòàíäàðò òºõººðºìæ stdaux Ñòàíäàðò aux òºõººðºìæ stdprn Ñòàíäàðò ïðèíòåð 11
  • 12. ÓÐÜÄ÷ÈËÀÍ ÍÝÝÃÄÑÝÍ ÔÀÉËÓÓÄ Æèøýý : fprintf(stdout,“ Äýëãýöýíä õýâëýâ. ”); fprintf(stderr,“ Àëäàà ãàðãàõ òºõººðºìæèä àëäààíû ìýäýýëýë õýâëýâ. ”); fprintf(stdprn,“ Ñòàíäàðò ïðèíòåð òºõººðºìæèä ìýäýýëýë õýâëýâ. ”); fscanf(stdin, “%s”,Name); /* Ñòàíäàðò îðîëòûí òºõººðºìæ áóþó ãàðààñ ìýäýýëýë óíøèæ áàéíà. */ 12
  • 13. ÔÀÉË ÕÀÀÕ Õýðýâ ôàéëòàé àæèëëàõ ¿éë àæèëëàãààãàà äóóññàí áîë ôàéëàà çàéëøã¿é õààæ áàé ! Ôàéëûã õààõäàà fclose ôóíêöûã àøèãëàíà. Æèøýý : FILE *f; f=fopen("noname.c","rt+"); . . . fclose(f); Õààõ ¿éë àæèëëàãàà íü òóõàéí ôàéëòàé àæèëëàõàä øààðäàãäàæ áàéñàí îðîí çàé, íººö¿¿äèéã ÷ºëººëæ áàéãàà ¿éëäýë þì. 13
  • 14. ÔÀÉËÀÀÑ ÓÍØÈÕ Ôàéëààñ ºãºãäºë óíøèõûí òóëä äàðààõ ôóíêöóóäûã àøèãëàæ áîëíî. fscanf - scanf ôóíêöòýé àäèëààð áóþó ôîðìàòëàñàí õýëáýðýýð ôàéëààñ óíøèõ fread - ªãºãäëèéí õýìæýýã çààæ ºãºí óíøèõ Èõ õýìæýýíèé ºãºãäºë óíøèõàä àøèãëàãäàíà. fgets - Ôàéëààñ òýìäýãò ìºð óíøèõ fgetchar, fgetc - Ôàéëààñ íýã òýìäýãò óíøèõ 14
  • 15. ÆÈØÝÝ : FILE *f; char s[100]; int mm,dd,yy; int A[20]; main() { f=fopen("mydoc.txt","rt+"); fscanf(f,"%s",s); /* Òýìäýãò ìºð óíøèõ */ fscanf(f,”%d/%d/%d”,mm,dd,yy); /* Îí ñàð */ fread(A,sizeof(int),20,f); /* f ôàéëààñ int òºðºëòýé 20 ýëåìåíòèéã À ìàññèâò óíøèõ */ fclose(f); } 15
  • 16. ÔÀÉËÄ ÁÈ÷ÈÕ Ôàéëä ºãºãäºë áè÷èõèéí òóëä äàðààõ ôóíêöóóäûã àøèãëàæ áîëíî. fprintf - printf ôóíêöòýé àäèëààð áóþó ôîðìàòëàñàí õýëáýðýýð ôàéëä áè÷èõ fwrite - ªãºãäëèéí õýìæýýã çààæ ºãºí áè÷èõ Îëîí ýëåìåíò áè÷èõýä àøèãëàãäàíà. fputs - Ôàéëä òýìäýãò ìºð áè÷èõ fputchar, fputc - Ôàéëä íýã òýìäýãò áè÷èõ 16
  • 17. ÆÈØÝÝ Ôàéëààñ ºãºãäºë óíøèõ, áè÷èõäýý ¿éëäýë çºâ ã¿éöýòãýãäñýí ýñýõèéã çàéëøã¿é øàëãàæ áàé ! FILE *f; int A[200]; main() { f=fopen("mydoc.txt","rt+"); if(fwrite(A,sizeof(int),200,f)==200) printf(“ Áè÷èëò àìæèëòòàé õèéãäëýý.n ”); else printf(“ Àëäàà ãàðëàà n ”); fclose(f); } 17
  • 18. ÔÀÉËÛÍ ÇÀÀÃ÷ Òóõàéí ôàéëòàé õàíäàæ àæèëëàõàä õýðýãëýãääýã íýã ÷óõàë îéëãîëò íü ôàéëûí çààã÷ þì. Óíøèõ, áè÷èõ ¿éëäýë õèéãäýõ èäýâõòýé áàéðëàëûã ôàéëûí çààã÷ òîäîðõîéëíî. Óíøèõ , áè÷èõ ¿éëäýë õèéãäñýíèé äàðàà ôàéëûí çààã÷ øèëæèæ áàéäàã. Çààã÷ íü ôàéëààñ õýäýí byte óíøèæ áè÷ñýí õýìæýýãýýð øèëæèíý. Ôàéëûí çààã÷èéí áàéðëàëûã óíøèæ, ìºí ò¿¿íèéã øèëæ¿¿ëæ áîëíî. 18
  • 19. 19 feof ôóíêö Ýíý ôóíêöûã àøèãëàí ôàéëûí çààã÷ ôàéëûí òºãñãºëä î÷ñîí ýñýõèéã øàëãàíà. ªãºãäºë óíøèæ áàéõ ¿åä ýíý íü çàéëøã¿é õèéãäýõ ¸ñòîé øàëãàëò áàéäàã. f=fopen("mydoc.txt","rt+"); while( !feof(f) ) /* Ôàéëûí òºãñãºë øàëãàõ */ { fscanf(f,"%d ",&s[i++]); /* Òîî óíøèõ */ } fclose(f); Õýðýâ çààã÷ ôàéëûí òºãñãºëä õ¿ðñýí áîë ò¿¿íýýñ öààø óíøèõ ºãºãäºë áàéõã¿é ãýñýí ¿ã.
  • 20. 20 Ôàéëûí çààã÷èéí áàéðëàë òîãòîîõ Ôàéëûí çààã÷èéí áàéðëàëûã ýäãýýð ôóíêöóóäûã àøèãëàí òîãòîîíî.  int fgetpos(FILE *fp, fpos_t *pos)  long ftell(FILE *fp); Æèøýý : long pos; pos=ftell(f); printf(“ File pointer position : %ld n”,pos);
  • 21. 21 Ôàéëûí çààã÷èéã øèëæ¿¿ëýõ Ôàéëûí çààã÷èéã äàðààõ ôóíêöóóäûã àøèãëàí øèëæ¿¿ëäýã.  int fsetpos( FILE *fp, const fpos_t *pos);  int fseek(FILE *fp, long offset,int whence); Æèøýý : fseek(f,1000,SEEK_SET); /* Ôàéëûí ýõíýýñ 1000-ð áàéðëàëä */ fseek(f,1000,SEEK_CUR); /* Èäýâõòýé áàéðëàëààñ õîéø 1000-ð áàéðëàëä */ fseek(f,1000,SEEK_END); /* Ôàéëûí òºãñãºëººñ óðàãø 1000-ð áàéðëàëä */