ཡིག་ཆ།
མཉམ་སྤྱོད། QQབར་སྟོང་། སིན་ནཱ་ཟིན་ཕྲན། ཐིན་ཞུན་ཟིན་ཕྲན། སྐད་འཕྲིན།

ཡིག་ཆ(file)ནི་བྱ་རིམ་ཇུས་འགོད་ཁྲོད་ཀྱི་དོན་སྤྱི་གལ་ཆེན་ཞིག་དང་། དེ་ནི་ཕྱིའི་སྨྱན་རྫས་སུ་གསོག་འཇོག་བྱས་པའི་གཞི་གྲངས་ཀྱི་ཚོགས་སྤྱི་ཞིག་གོ། གཞི་གྲངས་སྐོར་ཞིག་ནི་ཡིག་ཆའི་རྣམ་པ་ལྟར་ཕྱིའི་སྨྱན་རྫས་སུ་གསོག་ཡོད་པ་རེད། བཀོལ་སྤྱོད་རྒྱུད་ཁོངས་ཀྱིས་ཡིག་ཆ་སྡེ་ཚན་བྱས་ཏེ་གཞི་གྲངས་དོ་དམ་བྱེད་པའོ།། ཡང་གཅིག་བཤད་ན། གལ་ཏེ་ཕྱིའི་སྨྱན་རྫས་སུ་གསོག་འཇོག་བྱས་པའི་གཞི་གྲངས་གང་ཞིག་འཚོལ་དགོས་ཚེ། ཐོག་མར་ངེས་པར་དུ་ཡིག་ཆའི་མིང་ལྟར་གཏན་འཁེལ་བྱས་པའི་ཡིག་ཆ་དེ་འཚོལ་བ་དང་། དེ་ནས་ཡིག་ཆ་དེའི་ནང་གི་གཞི་གྲངས་ཀློག་དགོས། ཕྱིའི་སྨྱན་རྫས་སུ་གཞི་གྲངས་གསོག་འཇོག་བྱེད་པ་ལ་ཡང་ཐོག་མར་ངེས་པར་དུ་ཡིག་ཆ་ཞིག་གསར་བཟོ་བྱ་དགོས། དེ་ལྟར་བྱས་ན་ད་གཟོད་དེ་རུ་གཞི་གྲངས་ནང་འཇུག་བྱས་ཆོག་པ་ཡིན།
གཞི་རྩའི་གནས་ཚུལ།

རྒྱ་ཡིག་གི་མིང་།
文件
1 Cསྐད་བརྡ་ཡི་ཡིག་ཆ།

Cསྐད་བརྡ་ཡི་ཡིག་ཆ་ནི་ཡིག་རྟགས(ཡིག་ཚིགས)ཀྱི་རིམ་སྟར་ཞིག་ཏུ་བལྟ་བ་སྟེ། དེ་ནི་ཡིག་རྟགས(ཡིག་ཚིགས)གཅིག་རེ་གཅིག་རེའི་གཞི་གྲངས་གོ་རིམ་གྱིས་གྲུབ་པ་ཞིག་གོ། གཞི་གྲངས་སྒྲིལ་ཚུལ་གྱི་རྣམ་པ་ལྟར་དབྱེ་ན། ASCIIཡིག་ཆ་དང་གཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་ཡིག་ཆ་གཉིས་སུ་ཕྱེས་ཆོག་ཅིང་། ASCIIཡིག་ཆ་ལ་ཡིག་དེབ(text)ཡིག་ཆ་ཡང་ཟེར། དེའི་ཡིག་ཚིགས་རེ་རེ་རུASCIIཚབ་ཨང་ཞིག་བཞག་སྟེ། ཡིག་ཚིགས་གཅིག་མཚོན་པར་བྱེད་པའོ།། ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་ཡིག་ཆ་ནི་ནང་གསོག་ཁྲོད་ཀྱི་གཞི་གྲངས་དེ་ནང་གསོག་ཏུ་གསོག་འཇོག་བྱས་པའི་སྔར་རྣམ་ལྟར་ཕྱིར་བཏོན་ནས་སྡུད་སྡེར་དུ་གསོག་འཇོག་བྱེད་པའོ།།

2 རིགས་གྲས་སྟོན་ཁབ།

ལྷོད་གཏོང་ཡིག་ཆའི་རྒྱུད་ཁོངས་སུ། ཡིག་ཆའི་སྟོན་ཁབ་ནི་གནད་འགག་གི་དོན་སྤྱི་ཞིག་ཡིན། བཀོལ་བའི་ཡིག་ཆ་རེ་རེར་ནང་གསོག་ཏུ་ཁུལ་ཞིག་བགོས་ཏེ། དེ་ནི་ཡིག་ཆའི་འབྲེལ་ཡོད་ཀྱི་བརྡ་འཕྲིན་གསོག་འཇོག་བྱེད་པར་སྤྱོད་པ་ཡིན། བརྡ་འཕྲིན་དེ་དག་ནི་གྲུབ་ཚུལ་གཟུགས་ཀྱི་འགྱུར་ཚད་ཅིག་ཏུ་གསོག་འཇོག་བྱས་ཡོད། གྲུབ་ཚུལ་གཟུགས་དེ་ཡི་རིགས་གྲས་ལ་རྒྱུད་ཁོངས་ཀྱིས་མཚན་ཉིད་འགོད་པ་དང་། FILEཞེས་མིང་ཡང་བཏགས་ཡོད། Turbo Cཡིས་ཡིག་ཆstdio.hརུ་གཤམ་གྱི་ཡིག་ཆའི་རིགས་གྲས་གསལ་བསྒྲགས་བྱས་ཡོད་དེ།

typedef struct

{shortlevel;  /*ལྷོད་གཏོང་ཁུལ“གང་བ”འམ་ཡང་ན“སྟོང་བ”ཡིན་པའི་ཚད*/

unsignedflags;   /*ཡིག་ཆའི་རྣམ་པའི་རྟགས*/

charfd;   /*ཡིག་ཆ་ཞིབ་བརྗོད་ཀྱི་རྟགས*/

unsignedcharhold;/*ལྷོད་གཏོང་ཁུལ་མེད་ན་ཡིག་རྟགས་མི་ཀློག་པ*/

shortbsize;   /*ལྷོད་གཏོང་ཁུལ་གྱི་ཆེ་ཆུང*/

unsignedchar*buffer;  /*གཞི་གྲངས་ལྷོད་གཏོང་ཁུལ་གྱི་གནས་ཡུལ*/

unsignedar*curp;  /*སྟོན་མདའ་དང་མིག་སྔར་བསྟན་པའི་ཁ་ཕྱོགས*/

unsignedistemp;  /*གནས་སྐབས་ཀྱི་ཡིག་ཆ་དང་། བརྡ་སྟོན་ཆས*/

shorttoken;  /*ཞིབ་བཤེར་ནུས་ལྡན་བྱེད་པར་བཀོལ་བ*/

གྲུབ་ཚུལ་གཟུགསFILEཡི་རིགས་གྲས་ཤིག་ཡོད་པ་ན། དེ་ཉིད་སྤྱད་ནསFILEརིགས་གྲས་ཀྱི་འགྱུར་ཚད་དུ་མ་ཞིག་ལ་མཚན་ཉིད་འགོད་ཆོག་ཅིང་། དེ་ཡིས་ཡིག་ཆ་དུ་མའི་བརྡ་འཕྲིན་གསོག་འཇོག་བྱེད་པར་སྟབས་བདེ་བཟོ་ཐུབ། དཔེར་ན། གཤམ་གྱིFILEརིགས་གྲས་ཀྱི་གྲངས་ཚོར་མཚན་ཉིད་བཀོད་ཆོག་པ་སྟེ།

FILE f[5];

འདི་ཡིས་གྲུབ་ཚུལ་གཟུགས་ཀྱི་གྲངས་ཚོfལ་མཚན་ཉིད་བཀོད་པ་དང་། དེ་ལ་གཞི་རྒྱུ5ཡོད་ཅིང་ཡིག་ཆ5ཡི་བརྡ་འཕྲིན་གསོག་འཇོག་བྱེད་པར་སྤྱོད་ཆོག་པ་ཡིན།

ཡིག་ཆའི་རིགས་གྲས་ཀྱི་སྟོན་མདའི་འགྱུར་ཚད་ལ་མཚན་ཉིད་བཀོད་ཆོག་པ་སྟེ། དཔེར་ན།

FILE*fp;

fpནིFILEརིགས་གྲས་ཀྱི་གྲུབ་ཚུལ་གཟུགས་སྟོན་པའི་སྟོན་མདའི་འགྱུར་ཚད་ཡིན། fpཡིས་ཡིག་ཆ་ག་གེ་མོ་ཞིག་གི་གྲུབ་ཚུལ་གཟུགས་ཀྱི་འགྱུར་ཚད་སྟོན་པར་བྱས་ཆོག་ལ། གྲུབ་ཚུལ་གཟུགས་དེའི་འགྱུར་ཚད་ནང་གི་ཡིག་ཆའི་བརྡ་འཕྲིན་བརྒྱུད་དེ་ཡིག་ཆ་དེར་བཅར་འདྲི་བྱས་ཀྱང་ཆོག ཡང་གཅིག་བཤད་ན། ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་བརྒྱུད་ནས་དེ་དང་འབྲེལ་ཡོད་ཀྱི་ཡིག་ཆ་བཙལ་ཐུབ། གལ་ཏེ་ཡིག་ཆnཞིག་ཡོད་པ་ལ། སྤྱིར་བཏང་དུ་སྟོན་མདའི་འགྱུར་ཚདnཞིག་ཡོད་པར་ཆ་འཇོག་བྱས་ན། དེ་དག་གིས་ཡིག་ཆnསོ་སོ་སྟོན་པར་བྱས་ནས་ཡིག་ཆར་བཅར་འདྲི་བྱེད་པ་མངོན་འགྱུར་བྱ་ངེས་སོ།།

3 ཡིག་ཆའི་ཁ་འབྱེད་པ་དང་རྒྱག་པ།

དེ་ཡང་མཐོ་རིམ་སྐད་བརྡ་གཞན་དག་དང་འདྲ་བར་ཡིག་ཆ་ཀློག་འབྲི་མ་བྱས་གོང་ལ་ཡིག་ཆ་དེའི་ཁ་འབྱེད་དགོས་པ་དང་། ཡིག་ཆ་དེ་ཉིད་བེད་སྤྱོད་བྱས་ཚར་རྗེས་ཁ་རྒྱག་དགོས་སོ།།

1.ཡིག་ཆའི་ཁ་འབྱེད་པ།(རྟེན་འབྱུང་གྲངསfopen)

ANSI Cཡིས་ཚད་གཞིའི་ནང་འཇུག་དང་ཕྱིར་འདོན་གྱི་རྟེན་འབྱུང་གྲངས་མཛོད་གཏན་འཁེལ་བྱས་ཡོད་དེ། རྟེན་འབྱུང་གྲངསfopen()སྤྱད་ནས་ཡིག་ཆའི་ཁ་འབྱེད་དགོས། རྟེན་འབྱུང་གྲངསfopenཡི་འདྲེན་སྤྱོད་བྱེད་སྟངས་ནི་གཤམ་ལྟར།

FILE*fp;

fp=fopen(ཡིག་ཆའི་མིང,ཡིག་ཆ་བེད་སྤྱོད་སྟངས);

དཔེར་ན། fp=fopen(“a1”,r);

འདི་ཡིས་མིང་ལa1ཡིན་པའི་ཡིག་ཆའི་ཁ་འབྱེད་པ་དང་། ཡིག་ཆ་བེད་སྤྱོད་སྟངས་ཀྱི “ཀློག་པ”(rཡིསreadསྟེ་ཀློག་པ)མཚོན། རྟེན་འབྱུང་གྲངསfopenཡིས་ཡིག་ཆa1སྟོན་པའི་སྟོན་མདའ་ཕྱིར་བསྣམས་ཡོང་པར་མ་ཟདfpལ་སྟེར་བ་རེད། དེ་ལྟརfpདང་ཡིག་ཆaiའབྲེལ་བ་སྟེ། fpཡིས་ཡིག་ཆaiསྟོན་པའོ།། ཡིག་ཆ་ཞིག་གི་ཁ་འབྱེད་པའི་སྐབས་སུ། སྒྱུར་སྒྲིག་རྒྱུད་ཁོངས་ལ་གཤམ་གྱི་བརྡ་འཕྲིན3སྟེར་དགོས་པ་སྟེ། ①ཁ་འབྱེད་དགོས་པའི་ཡིག་ཆའི་མིང་དགོས་པ་སྟེ། བཅར་འདྲི་བྱ་ཡུལ་གྱི་ཡིག་ཆའི་མིང་གྲ་སྒྲིག་བྱེད་དགོས། ②ཡིག་ཆ་བེད་སྤྱོད་སྟངས(“ཀློག”གམ“འབྲི”མིན) ③སྟོན་མདའི་འགྱུར་ཚད་གང་ཞིག་གིས་ཁ་ཕྱེས་དགོས་པའི་ཡིག་ཆ་དེ་སྟོན་པ་དང་བཅས་སོ།།

2.ཡིག་ཆའི་ཁ་རྒྱག་པ(རྟེན་འབྱུང་གྲངསfclose)

ཡིག་ཆ་ཞིག་སྤྱད་ཚར་རྗེས་ཁ་རྒྱག་དགོས་པ་ཡིན། “ཁ་རྒྱག་པ”ཞེས་པ་ནི་ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་ཀྱིས་ཡིག་ཆ་དེ་སྟོན་པར་མི་བྱེད་པ་སྟེ། ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་དེ་ཡིག་ཆ་དང“ཁ་ཕྲལ”ནས། ཕྱིས་སུ་སྟོན་མདའ་འདི་ཉིད་ལ་བརྟེན་ནས་རང་གི་འབྲེལ་ཡོད་ཡིག་ཆ་དེ་ཀློག་འབྲི་བྱེད་མི་ཐུབ། ཡིག་ཆ་གང་ཉིད་ཀྱི་ཁ་ཡང་བསྐྱར་ཕྱེས་ཏེ། སྟོན་མདའི་འགྱུར་ཚད་དེ་ཡིས་ཡང་བསྐྱར་ཡིག་ཆ་དེ་སྟོན་པར་བྱས་ན་མ་གཏོགས་འོང་མི་སྲིད།

རྟེན་འབྱུང་གྲངསfcloseབཀོལ་ནས་ཡིག་ཆའི་ཁ་རྒྱག་པ། རྟེན་འབྱུང་གྲངསfcloseའདྲེན་སྤྱོད་བྱེད་པའི་སྤྱིར་བཏང་གི་རྣམ་པ་ནི།

fclose(ཡིག་ཆའི་སྟོན་མདའ)

དཔེར་ན།

fclose(fp);

གོང་དུ་ང་ཚོས་ཡིག་ཆ་ཁ་ཕྱེ་དུས(རྟེན་འབྱུང་གྲངསfopenབཀོལ་བ)འཁྱེར་བའི་སྟོན་མདའ་དེfpལ་བྱིན་པ་དང་། fpལ་བརྟེན་ནས་ཡིག་ཆ་དེའི་ཁ་རྒྱག་པ་སྟེ། fpཡིས་ཡིག་ཆ་དེ་སྟོན་པར་མི་བྱེད་དོ།།

བྱ་རིམ་མཇུག་མ་སྒྲིལ་གོང་ལ་ཡིག་ཆ་ཡོད་ཚད་ཀྱི་ཁ་རྒྱག་པར་གོམས་དགོས། གལ་ཏེ་ཡིག་ཆའི་ཁ་མ་བརྒྱབ་ན་གཞི་གྲངས་བོར་བརླག་ཏུ་འགྲོ་ངེས། རྒྱུ་མཚན་ནི། གོང་དུ་བརྗོད་པ་ལྟར་ཡིག་ཆ་རུ་གཞི་གྲངས་འབྲི་བའི་སྐབས་སུ། ཐོག་མར་གཞི་གྲངས་དེ་ལྷོད་གཏོང་ཁུལ་དུ་གསོག་དགོས་པ་དང་། ལྷོད་གཏོང་དེའི་ཁ་གང་རྗེས་གཞི་ནས་ཡིག་ཆ་རུ་ཕྱིར་འདོན་པས་སོ།། གལ་ཏེ་ལྷོད་གཏོང་ཁུལ་གྱི་ཁ་མ་གང་བར་བྱ་རིམ་འཁོར་སྐྱོད་བྱེད་པའི་མཚམས་བཞག་པ་ན། ལྷོད་གཏོང་ཁུལ་གྱི་གཞི་གྲངས་འབོར་སྲིད་ངེས། རྟེན་འབྱུང་གྲངསfcloseབཀོལ་ནས་ཡིག་ཆའི་ཁ་བརྒྱབ་ན། གནད་དོན་དེ་དག་འབྱུང་མི་སྲིད་དེ། དེ་ཡི་ཐོག་མར་ལྷོད་གཏོང་ཁུལ་ནང་གི་གཞི་གྲངས་དག་སྡུད་སྡེར་ཡིག་ཆ་རུ་ཕྱིར་འདོན་པ་དང་། དེ་ནས་ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་གློད་གཏོང་བྱེད་པའོ།།

རྟེན་འབྱུང་གྲངསfcloseཡིས་ཐང་ཞིག་ཕྱིར་ལྡོག་པར་བྱེད་པ་རེད། ཁ་རྒྱག་པའི་བཀོལ་སྐྱོད་བདེ་བླག་ངང་ལག་བསྟར་བྱས་པ་ན། ཕྱིར་སྤྲོད་པའི་ཐང་ནི0ཡིན། དེ་མིན་ཚེ། EOF(-1)ཕྱིར་སྤྲོད་པ་རེད། དེ་ནི་རྟེན་འབྱུང་གྲངསferrorབཀོལ་ནས་བཤེར་འཇལ་བྱས་ཆོག་གོ།

4 ཡིག་ཆའི་ཀློག་འབྲི།

1.རྟེན་འབྱུང་གྲངསfputcདངfgetc(རྟེན་འབྱུང་གྲངསputcདངgetc)

(1)རྟེན་འབྱུང་གྲངསfputc

ཡིག་རྟགས་ཤིག་སྡུད་སྡེར་ཡིག་ཆ་རུ་འབྲི་བ་ལ། དེའི་སྤྱིར་བཏང་གི་འདྲེན་སྤྱོད་བྱེད་ཐབས་ནི།

fputc(ch,fp);

འདི་ལསchནི་ཕྱིར་འདོན་པའི་ཡིག་རྟགས་ཤིག་སྟེ། ཡིག་རྟགས་རྒྱུན་ཚད་ཅིག་ཡིན་ཆོག་ལ། ཡིག་རྟགས་འགྱུར་ཚད་ཅིག་ཡིན་ཀྱང་ཆོག fpནི་ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་ཡིན་པ་དང་། རྟེན་འབྱུང་གྲངསfputc(ch.fp)ཡི་བྱེད་ནུས་ཡིག་རྟགས(chཡི་ཐང)དེfpཡི་བསྟན་པའི་ཡིག་ཆ་རུ་ཕྱིར་འདོན་པའོ།། རྟེན་འབྱུང་གྲངསfputcཡིས་ཀྱང་ཐང་ཞིག་ཕྱིར་སྤྲོད་པ་རེད། གལ་ཏེ་ཕྱིར་འདོན་པ་ལེགས་འགྲུབ་བྱུང་བ་ན། ཕྱིར་སྤྲད་པའི་ཐང་ནི་ཕྱིར་བཏོན་པའི་ཡིག་རྟགས་དེ་ཡིན་ལ། གལ་ཏེ་ཕྱིར་འདོན་པ་ལེགས་འགྲུབ་མ་བྱུང་ན། EOF(-1)ཕྱིར་སྤྲོད་པ་རེད། EOFནི་ཡིག་ཆstdio.nརུ་མཚན་ཉིད་བཀོད་པའི་མཚོན་རྟགས་རྒྱུན་ཚད་དེ། དེ་ཡི་ཐང་ནི-1ཡིན།

དོན་ལputcharནི་རྟེན་འབྱུང་གྲངསfputcལས་མཆེད་པ་རེད། putchar(c)ནི་ཡིག་ཆstdio.nནང་སྔོན་བཀོད་སྒྲིག་གཅོད་བཀའ་བརྡ#defineཡིས་མཚན་ཉིད་བཀོད་པའི་ཆེ་མཐོང་དུ་སྤྱོད་པ་ཡིན།

#define putchar(c) fputc(c,stdout)

གོང་དུ་ཞིབ་བརྗོད་བྱས་པ་བཞིན། fputcནི་རྒྱུད་ཁོངས་ཀྱིས་མཚན་ཉིད་བཀོད་པའི་ཡིག་ཆའི་སྟོན་མདའི་འགྱུར་ཚད་ཡིན་ལ། དེ་ནི་མཐའ་སྣེའི་ཕྱིར་འདོན་དང་འབྲེལ་ཡོད། fputc(c,stdout)ཡི་བྱེད་ནུསcཡི་ཐང་དེ་མཐའ་སྣེ་རུ་ཕྱིར་འདོན་པ་དེའོ།།

(2)རྟེན་འབྱུང་གྲངསfgetc

གཏན་འཁེལ་བྱས་པའི་ཡིག་ཆ་ལས་ཡིག་རྟགས་གཅིག་ཀློག་པ་ལ། ཡིག་ཆ་དེ་ངེས་པར་དུ་ཀློག་པའམ་ཡང་ན་ཀློག་འབྲི་བྱེད་སྟངས་ཀྱིས་ཁ་ཕྱེ་དགོས་པ་ཡིན། རྟེན་འབྱུང་གྲངསfgetcའདྲེན་སྤྱོད་བྱེད་པའི་རྣམ་པ་ནི།

ch=fgetc(fp);

fpནི་ཡིག་ཆའི་རིགས་གྲས་ཀྱི་སྟོན་མདའི་འགྱུར་ཚད་དང་། chནི་ཡིག་རྟགས་འགྱུར་ཚད་ཡིན། རྟེན་འབྱུང་གྲངསfgetcཡིས་ཡིག་རྟགས་གཅིག་ཕྱིར་འཁྱེར་ནསch ལ་སྟེར་བའོ།། གལ་ཏེ་རྟེན་འབྱུང་གྲངསfgetcལག་བསྟར་བྱས་ནས་ཡིག་རྟགས་ཀློག་སྐབས་ཡིག་ཆ་མཇུག་སྒྲིལ་བའི་རྟགས་ལ་འཕྲད་ཚེ། རྟེན་འབྱུང་གྲངས་ཀྱི་ཡིག་ཆ་མཇུག་སྒྲིལ་བའི་རྟགསEOF(-1)ཕྱིར་སྤྲོད་པར་བྱེད་དོ།། གལ་ཏེ་སྡུད་སྡེར་ཡིག་ཆ་ཞིབ་ཏུ་གོ་རིམ་བཞིན་ཡིག་རྟགས་ཀློག་པ་དང་དེ་ཉིད་བརྙན་ཡོལ་དུ་མངོན་དུ་འཇུག་འདོད་ཚེ། གཤམ་ལྟར་བྲིས་ཆོག་པ་སྟེ།

ch=fgetc(p);

while(ch!=EOF)

{

putchar(ch);

ch=fgetc(fp);

}

མཉམ་འཇོག་བྱ་ཡུལ། EOFནི་ཕྱིར་འདོན་རུང་བའི་ཡིག་རྟགས་མིན་པས། བརྙན་ཡོལ་དུ་མངོན་མི་ཐུབ། ཡིག་རྟགས་ཀྱིASCIIཨང་དུ-1མངོན་མི་སྲིད་དོ།། དེའི་ཕྱིརEOFནི-1ཡིན་པར་མཚན་ཉིད་བཀོད་ན་འཚམ་པ་ཡིན། ཀློག་པའི་ཡིག་རྟགས་ཐང-1(EOF)ཡིན་དུས། ཀློག་པ་དེ་ཡང་རྒྱུད་ལྡན་གྱི་ཡིག་རྟགས་ཤིག་མ་ཡིན་པར་ཡིག་ཆ་མཇུག་སྒྲིལ་བའི་རྟགས་ཡིན་པ་མཚོན། ཡིན་ན་ཡང་གོང་གི་དེ་དག་ནི་ཡིག་དེབ་ཡིག་ཆ་ཀློག་པའི་གནས་ཚུལ་ཁོ་ནར་སྤྱད་ན་འཚམ་པ་རེད། ད་ལྟANSI Cརུ་ལྷོད་གཏོང་ཡིག་ཆའི་རྒྱུད་ཁོངས་ཀྱིས་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་ཡིག་ཆ་སྤྱད་ཆོག་པར་བྱས་ཡོད་པས། ཡིག་ཚིགས་ཞིག་གི་ནང་གི་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་གཞི་གྲངས་ཐང་ནི-1ཡིན་སྲིད་ལ། དེ་ནི་ཏག་ཏགEOFཡི་ཐང་ཡིན་པའོ།། འདི་ལྟར་ཕན་ཡོད་གཞི་གྲངས་ཤིག་ཀློག་པ་ལ“ཡིག་ཆ་མཇུག་སྒྲིལ་བ”ལྟར་སྒྲིག་གཅོད་བྱ་དགོས་པའི་གནས་ཚུལ་ཡང་ཐོན་པ་རེད། གནད་དོན་འདི་ཐག་གཅོད་པའི་ཆེད་དུ། ANSI Cཡི་རྟེན་འབྱུང་གྲངསfeof()མཁོ་སྤྲོད་བྱས་ཏེ་ཡིག་ཆ་དངོས་སུ་མཇུག་སྒྲིལ་མིན་དབྱེ་གཅོད་བྱེད་པ་ཡིན། feof(fp)ནིfpཡིས་བསྟན་པའི་མིག་སྔའི་ཡིག་ཆའི་རྣམ་པ་ནི“ཡིག་ཆ་མཇུག་སྒྲིལ”ཡོད་མེད་ལ་ཞིབ་བཤེར་བྱེད་པ་སྤྱོད་དོ།། གལ་ཏེ་ཡིག་ཆ་མཇུག་སྒྲིལ་བ་ན། རྟེན་འབྱུང་གྲངསfeof(fp)ཡི་ཐང1(དངོས་མ)ཡིན་པ་དང་། མཇུག་སྒྲིལ་མེད་ན(རྫུན་མ)ཡིན།

(3)རྟེན་འབྱུང་གྲངསfreadདངfwrite

རྟེན་འབྱུང་གྲངསgetcདངputcནི་ཡིག་ཆའི་ནང་གི་ཡིག་རྟགས་གཅིག་ཀློག་འབྲི་བྱེད་པར་སྤྱད་ཆོག ཡིན་ན་ཡང་རྟག་པར་ཐེངས་གཅིག་ལ་གཞི་གྲངས་སྐོར་ཞིག་ཀློག་དགོས་པའི་རེ་འདུན་ཡོད་པ་ཡིན། ANSI Cཚད་གཞིས་རྟེན་འབྱུང་གྲངས་གཉིས(freadདངfwrite)སྒྲིག་འགོད་བྱས་ཏེ། གཞི་གྲངས་དུམ་བུ་ཞིག་ཀློག་འབྲི་བྱེད་དོ།། དེ་དག་འདྲེན་སྤྱོད་བྱེད་པའི་སྤྱིར་བཏང་གི་རྣམ་པ་ནི།

Fread(buffer,size,count,fp);

Fwrite(buffer,size,count,fp);

དེ་ལསbufferནི་སྟོན་མདའ་ཞིག་སྟེ། freadལ་མཚོན་ན། དེ་ནི་བཀླགས་པའི་གཞི་གྲངས་གསོག་བྱེད་ཀྱི་ཤག་གནས་ཡིན་པ་དང་། fwriteལ་མཚོན་ན། དེ་ནི་ཕྱིར་འདོན་དགོས་པའི་གཞི་གྲངས་ཀྱི་ཤག་གནས་ཡིན།

sizeནི་ཀློག་འབྲི་བྱ་དགོས་པའི་ཡིག་ཚིགས་གྲངས་ཡིན།

countནིsizeཡིག་ཚིགས་ག་ཚོད་ཅིག་ཀློག་འབྲི་བྱེད་དགོས་པའི་གཞི་གྲངས་ཚན་པ་ཡིན།

fpནི་ཡིག་ཆའི་རིགས་གྲས་ཀྱི་སྟོན་མདའ་ཡིན།

གལ་ཏེ་ཡིག་ཆ་ནི་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་རྣམ་པས་ཁ་ཕྱེ་བ་ཡིན་ན། རྟེན་འབྱུང་གྲངསfreadདངfwriteབཀོལ་ནས་རིགས་གྲས་གང་རུང་གི་བརྡ་འཕྲིན་ཀློག་འབྲི་བྱས་ཆོག དཔེར་ན།

Fwrite(f,4,2,fp);

དེ་ལསfནི་དངོས་ཚུལ་གྲངས་ཚོ་ཞིག་གི་མིང་ཡིན། དངོས་ཚུལ་གྱི་འགྱུར་ཚད་གཅིག་གིས་ཡིག་ཚིགས4བཟུང་བ་ཡོད། རྟེན་འབྱུང་གྲངས་འདིསfpཡིས་བསྟན་པའི་ཡིག་ཆ་རུ་གཞི་གྲངས་ཐེངས་གཉིས(ཐེངས་རེར་ཡིག་ཚིགས4)ལ་བཀླག་སྟེ། གྲངས་ཚོfརུ་གསོག་འཇོག་བྱེད་པ་རེད།

གལ་ཏེ་གཤམ་གྱི་གྲུབ་ཚུལ་གཟུགས་ཀྱི་རིགས་གྲས་ཤིག་ཡོད་ན།

struct student type

{char name[10]};

int num;

int age;

char addr[30];

}stud[40]

གྲུབ་ཚུལ་གཟུགས་ཀྱི་གྲངས་ཚོstudལ་གཞི་རྒྱུ40ཡོད་ཅིང་། གཞི་རྒྱུ་རེ་རེ་རུ་སློབ་མ་ཞིག་གི་གཞི་གྲངས་གསོག་འཇོག་བྱེད་པ་དང་། སློབ་མའི་གཞི་གྲངས་ནི་སྡུད་སྡེར་ཡིག་ཆ་རུ་གསོག་འཇོག་བྱས་ཡོད་པར་ཆ་འཇོག་བྱས་ན། གཤམ་གྱིforརྗོད་ཚིག་དང་རྟེན་འབྱུང་གྲངསfreadསྤྱད་ནས་སློབ་མ40ཡི་གཞི་གྲངས་ཀློག་རུང་།

for(i=0;i<40;i++)

fread(&stud[i],sizeof(struct student type),1,fp);

དེ་བཞིན། གཤམ་གྱིforརྗོད་ཚིག་དང་རྟེན་འབྱུང་གྲངསfwriteཡིས་ནང་གསོག་ཁྲོད་ཀྱི་སློབ་མའི་གཞི་གྲངས་དེ་སྡུད་སྡེར་དུ་ཕྱིར་འདོན་ཐུབ།

གལ་ཏེfreadའམ་ཡང་ནfwriteཡི་འདྲེན་སྤྱོད་ལེགས་འགྲུབ་བྱུང་བ་ན། རྟེན་འབྱུང་གྲངས་ཀྱིས་ཕྱིར་སྤྲད་པའི་ཐང་ནིcountཡི་ཐང་ཡིན་ཏེ། ནང་འཇུག་གམ་ཡང་ན་ཕྱིར་འདོན་གྱི་གཞི་གྲངས་ཚན་པ་ནི་ཆ་ཚང་བའི་གྲངས་ཤིག་ཡིན་ནོ།།

དཔེར་བརྗོད1.1 མཐེབ་གཞོང་ལས་སློབ་མ4ཡི་འབྲེལ་ཡོད་ཀྱི་གཞི་གྲངས་ནང་འཇུག་བྱེད་པ་དང་། དེ་ནས་དེ་དག་སྡུད་སྡེར་ཡིག་ཆ་རུ་གསོག་འཇོག་བྱོས།

#include<stdio.h>

#define SIZE 4

strutc student rype

{char name[10];

int num;

int age;

char addr[15];

}stud[SIZE];

void size()

{FILE*fp;

int i;

if((fp=fopen("stu-list", "wb"))==NULL)

return;

}

for(i=0;i<SIZE;i++)

if(fwrite(&stud[i],sizeof(struct student type),1,fp)!=1)

printf("file write error\n") ;

fclose(fp);

}     main()

{int i;

for(i=0;i<SIZE;i++)

scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);

save();

}

རྟེན་འབྱུང་གྲངསmainརུ། མཐའ་སྣེའི་མཐེབ་གཞོང་ལས་སློབ་མ4ཡི་གཞི་གྲངས་ནང་འཇུག་བྱས་རྗེས། རྟེན་འབྱུང་གྲངསsaveའདྲེན་སྤྱོད་བྱས་ཏེ། གཞི་གྲངས་དེ་དག་ནི་མིང “stu-list”ཡིན་པའི་སྡུད་སྡེར་ཡིག་ཆ་རུ་ཕྱིར་འདོན་པའོ།། རྟེན་འབྱུང་གྲངསfwriteཡི་བྱེད་ནུས་ནི་རིང་ཚད་ཡིག་ཚིགས29ཡོད་པའི་གཞི་གྲངས་དུམ་བུ་ཞིག་ཡིག་ཆstu-listརུ་སྐྱེལ་བ་དེའོ།།

འཁོར་སྐྱོད་བྱས་པའི་གནས་ཚུལ་གཤམ་ལྟར།

Zhang 10001 19  room 101↙

Fun  10002 20  room 102↙

Tan  10003 21  room 103↙

Ling  10003 22  room 104↙

བྱ་རིམ་འཁོར་སྐྱོད་བྱེད་དུས། བརྙན་ཡོལ་དུ་བརྡ་འཕྲིན་ཅི་ཡང་ཕྱིར་མི་འདོན་ཞིང་། མཐེབ་གཞོང་ལས་ནང་འཇུག་བྱས་པའི་གཞི་གྲངས་ཁོ་ན་སྡུད་སྡེར་ཡིག་ཆ་རུ་སྐྱེལ་བའོ།།

2.རྟེན་འབྱུང་གྲངསfprintfདངfscanf

རྟེན་འབྱུང་གྲངfprintfདངfscanfཡི་བྱེད་ནུས་ནི་རྟེན་འབྱུང་གྲངསfprintfདང fscanfཡི་བྱེད་ནུས་དང་འདྲ་བ་སྟེ། འདི་དག་ཡོད་ཚད་ནི་རྣམ་གཞག་ཅན་གྱི་ཀློག་འབྲིའི་རྟེན་འབྱུང་གྲངས་ཡིན། དེ་དག་ནི་མི་འདྲ་ས་ཉག་གཅིག་ནི། fprintfདངfscanfཡིས་ཀློག་འབྲི་བྱ་ཡུལ་ནི་མཐའ་སྣེ་མ་ཡིན་པར་སྡུད་སྡེར་ཡིག་ཆ་ཡིན། དེ་གཉིས་འདྲེན་སྤྱོད་བྱེད་པའི་སྤྱིར་བཏང་གི་རྣམ་པ་ནི།

fprintf(ཡིག་ཆའི་སྟོན་མདའ,རྣམ་པའི་ཡིག་རྟགས་ཕྲེང,ཕྱིར་འདོན་རེའུ་སྟར);

fscanf(ཡིག་ཆའི་སྟོན་མདའ,རྣམ་པའི་ཡིག་རྟགས་ཕྲེང,ནང་འཇུག་རེའུ་སྟར);

དཔེར་ན།

fprintf(fp,“%d,%6.2f”,i,t);

འདིའི་བྱེད་ནུས་ནི་ཧྲིལ་ཚུལ་འགྱུར་ཚདiདང་དངོས་ཚུལ་འགྱུར་ཚདtཡི་ཐང་དེ་རྣམ་པ%dདང%6.2fལྟརtpཡིས་བསྟན་པའི་ཡིག་ཆ་རུ་ཕྱིར་འདོན་པ། གལ་ཏེi=3,t=4.5ཡིན་ན། སྡུད་སྡེར་དུ་ཡིག་ཆ་ཕྱིར་བཏོན་པའི་ཡིག་རྟགས་ཕྲེང་ནི་གཤམ་ལྟར་རོ།།

3,4.50

དེ་དང་འདྲ་བར་རྟེན་འབྱུང་གྲངསfscanfསྤྱད་ནས་སྡུད་སྡེར་དུASCIIཨང་ཞིག་ཀློག་ཆོག་པ་སྟེ།

fscanf (fp,“%d,% f”,&i,&t);

སྡུད་སྡེར་ཡིག་ཆའི་སྟེང་གཤམ་གྱི་ཡིག་རྟགས་ཡོད་ཚེ།

3,4,5

སྡུད་སྡེར་ཡིག་ཆའི་སྟེང་གི་གཞི་གྲངས3དེ་འགྱུར་ཚདiལ་སྟེར་བ་དང་། 4.5འགྱུར་ཚདtལ་སྟེར་བའོ།།

རྟེན་འབྱུང་གྲངསfprintfདངfscanfབཀོལ་ནས་སྡུད་སྡེར་ཡིག་ཆར་ཀློག་འབྲི་བྱས་ན། སྤྱོད་བདེ་ཞིང་གོ་སླ་མོད། འོན་ཀྱང་ནང་འཇུག་བྱེད་པའི་སྐབས་བསASCIIཨང་ནི་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་རྣམ་པར་བསྒྱུར་དགོས་པ་དང་། ཕྱིར་འདོན་པའི་སྐབས་སུ་སླར་ཡང་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་རྣམ་པ་དེ་ཡིག་རྟགས་ལ་བསྒྱུར་དགོས་པས།m དུས་ཡུན་ཅུང་མང་པོ་མཁོ་བ་ཡིན། དེ་བས་ནང་གསོག་དང་སྡུད་སྡེར་བར་དུ་གཞི་གྲངས་བརྗེ་རེས་བྱེད་པ་ཅུང་མང་བའི་གནས་ཚུལ་འོག་ཏུ། རྟེན་འབྱུང་གྲངསfprintfདངfscanfམི་བཀོལ་བར་རྟེན་འབྱུང་གྲངསfreadདངfwriteསྤྱད་ན་ཆེས་ལེགས་པའོ།།

5 ཡིག་ཆའི་གནས་གཏན་འཁེལ་བྱེད་པ།

ཡིག་ཆ་རུ་གནས་ཡུལ་སྟོན་མདའ་ཞིག་ཡོད་པ་དང་། དེ་ཡིས་མིག་སྔར་ཀློག་འབྲི་བྱ་སའི་གནས་དེ་སྟོན་པ་ཡིན། གལ་ཏེ་གོ་རིམ་ལྟར་ཡིག་ཆ་ཞིག་ཀློག་འབྲི་བྱེད་པ་ལ། ཐེངས་རེར་ཡིག་རྟགས་གཅིག་ཀློག་འབྲི་བྱེད་པ་དང་། ཡིག་རྟགས་གཅིག་ཀློག་འབྲི་བྱས་ཚར་རྗེས། གནས་ཡུལ་སྟོན་མདའ་དེ་རང་འགུལ་གྱིས་ཡིག་རྟགས་རྗེས་མའི་གནས་ཡུལ་ལ་སྤོ་བ་རེད། གལ་ཏེ་ཆོས་ཉིད་དེ་བསྒྱུར་འདོད་ན། བཙན་གྱིས་གནས་ཡུལ་སྟོན་མདའ་ཡིས་གཏན་འཁེལ་བྱས་པའི་གནས་གཞན་ཞིག་སྟོན་པར་བྱེད་དགོས་ཏེ། དེ་ལ་འབྲེལ་ཡོད་ཀྱི་རྟེན་འབྱུང་གྲངས་བཀོལ་ཡང་ཆོག་གོ།

1.རྟེན་འབྱུང་གྲངསrewind

རྟེན་འབྱུང་གྲངསrewindཀྱི་བྱེད་ནུས་ནི་གནས་ཡུལ་སྟོན་མདའ་དེ་ཡང་བསྐྱར་ཡིག་ཆའི་མགོར་ལོག་པར་བྱེད་པ་དེ་ཡིན་ཞིང་། རྟེན་འབྱུང་གྲངས་འདིར་ཕྱིར་ལྡོག་ཐང་མེད་དོ།།

དཔེར་བརྗོད1.2 སྡུད་སྡེར་ཡིག་ཆ་ཞིག་ཡོད་པ་ལ། ཐེངས་དང་པོར་དེའི་ནང་དོན་བརྙན་ཡོལ་དུ་མངོན་པར་བྱེད་པ་དང་། ཐེངས་གཉིས་པར་ཡིག་ཆ་གཞན་ཞིག་ཏུ་འདྲ་ཕབ་བྱོས། 

#include<stdio.h>

main()

{FILE*fp1,*fp2;

fp1=fopen("file1.c", "r");

fp2=fopen("file2.c", "w");

while(!feof(fp1))putchar(getc(fp1));

rewind(fp1);

while(!feof(fp1))

putc(getc(fp1),fp2);

fclose(fp1);fclose(fp2);

}

ཐེངས་དང་པོར་ཡིག་ཆའི་ནང་དོན་བརྙན་ཡོལ་དུ་མངོན་པར་བྱས་རྗེས། ཡིག་ཆfile1.cཡི་གནས་ཡུལ་སྟོན་མདའ་ཡིས་ཡིག་ཆའི་མཇུག་སྟོན་པར་བྱེད་པ་དང་། feofཡི་ཐང་ནི་ཐིག་ལེ་མིན་པའི་གྲངས(དངོས་མ)ཡིན། རྟེན་འབྱུང་གྲངསrewindལག་སྟར་བྱས་ན། ཡིག་ཆའི་གནས་ཡུལ་སྟོན་མདའ་ཡིས་ཡིག་ཆའི་མགོ་སྟོན་པར་བྱེད་པ་མ་ཟད། རྟེན་འབྱུང་གྲངསfeofཡི་ཐང་དེ(རྫུན་མ)རུ་བསྐྱར་གསོ་བྱེད་པའོ།།

2.རྟེན་འབྱུང་གྲངསfseekདང་སྐབས་བསྟུན་ཀློག་འབྲི།

རྒྱུན་ཚལ་ཡིག་ཆར་ཆ་མཚོན། གོ་རིམ་ལྟར་ཀློག་འབྲི་བྱས་ཆོག་ལ། སྐབས་བསྟུན་གྱིས་ཀློག་འབྲི་བྱས་ཀྱང་ཆོག གཙོ་བོ་ནི་ཡིག་ཆའི་གནས་ཡུལ་ཚོད་འཛིན་བྱེད་པའི་སྟོན་མདར་རགས་ལས་པ་ཡིན། གལ་ཏེ་གནས་ཡུལ་སྟོན་མདའ་ནི་ཡིག་ཚིགས་ཀྱི་གནས་ཡུལ་ལྟར་གོ་རིམ་བཞིན་སྤོ་དགོས་ཚེ། དེ་ནི་རིམ་སྟར་ཀློག་འབྲི་བྱེད་པ་ཡིན། གལ་ཏེ་གནས་ཡུལ་སྟོན་མདའ་དེ་དགོས་མཁོ་ལྟར་གནས་གང་རུང་དུ་སྤོ་ཐུབ་ཚེ། དེ་ནི་སྐབས་བསྟུན་ཀློག་འབྲི་ཡིན། སྐབས་བསྟུན་ཀློག་འབྲི་ཞེས་པ་ནི། ཡིག་རྟགས་གོང་མ(ཡིག་ཚིགས)དེ་ཀློག་འབྲི་བྱས་ཚར་རྗེས། དེ་ཡི་རྗེས་ཀྱི་ཡིག་རྟགས(ཡིག་ཚིགས)ཀློག་འབྲི་བྱེད་པའི་ངེས་པ་མེད་པར། ཡིག་ཆའི་ནང་གི་དགོས་ངེས་ཀྱི་ཡིག་རྟགས(ཡིག་རྟགས)གང་རུང་ཞིག་ཀློག་འབྲི་བྱས་ཆོག་པ་དེ་ལ་བྱའོ།།

རྟེན་འབྱུང་གྲངསfseekབཀོལ་ནས་ཡིག་ཆའི་གནས་ཡུལ་སྟོན་མདའ་བསྒྱུར་ཐུབ་པ་སྟེ། རྟེན་འབྱུང་གྲངས་འདྲེན་སྤྱོད་བྱེད་པའི་རྣམ་པ་ནི།

fseek(ཡིག་ཆའི་རིགས་གྲས་སྟོན་མདའ,གནས་སྤོ་བའི་ཚད,འགོ་རྩོམ་གནས)

མགོ་རྩོམ་གནས་ནི0,1གམ་ཡང་ན2ཀྱིས་ཚབ་བྱེད་དགོས་ལ། 0ཡིས“ཡིག་ཆའི་མགོ”མཚོན་པ་དང་། 1གིས“མིག་སྔའི་གནས”མཚོན་པ། 2ཀྱིས“ཡིག་ཆའི་མཇུག”མཚོན་པའོ།། ASSI Cཚད་གཞིས་གཏན་འཁེལ་བྱས་པའི་མིང་ནི་རེའུ་མིག1.1གིས་མཚོན་པ་ལྟར་རོ།།

རེའུ་མིག1.1

1.1.jpg.jpg

“གནས་སྤོ་བའི་ཚད”ནི“འགོ་རྩོམ་གནས”རྨང་གནས་བྱས་ཏེ། མདུན་ཕྱོགས་སུ་སྤོས་པའི་ཡིག་ཚིགས་གྲངས་ཡིན། ANSI CདངCཔར་གཞི་མང་ཆེ་བ་རུ་གནས་སྤོ་བའི་ཚད་ནིlongཚུལ་གྱི་གཞི་གྲངས་ཡིན་དགོས་པ་ཡིན། དེ་ལྟར་བྱས་ན་ཡིག་ཆའི་རིང་ཚད 64kལས་ཆེ་བའི་སྐབས་སུ་གནད་དོན་འབྱུང་མི་སྲིད། ANSI Cཚད་གཞི་རུ་གྲངས་ཀའི་མཇུག་ཏུ་གསལ་བྱེདLབཞག་པ་ན། longཚུལ་མཚོན་པ་གཏན་འཁེལ་བྱས་ཡོད།

རྟེན་འབྱུང་གྲངསfseekནི་སྤྱིར་བཏང་དུ་ཉིས་གོང་འགྲིལ་ལུགས་ཀྱི་ཡིག་ཆར་སྤྱོད་ཀྱི་ཡོད། རྒྱུ་མཚན་ནི་ཡིག་དེབ་ཡིག་ཆ་རུ་ཡིག་རྟགས་བརྗེ་སྒྱུར་བྱེད་དགོས་པ་ན། གནས་ཡུལ་བརྩི་སྐབས་ཏག་ཏག་རྙོག་འཛིང་འབྱུང་ངེས་པ་ཡིན།

རྟེན་འབྱུང་གྲངསfseekའདྲེན་སྤྱོད་བྱེད་པའི་དཔེ་འགའ་གཤམ་ལྟར།

fseek(fp,100L,0);

གནས་ཡུལ་སྟོན་མདའ་དེ་ཡིག་ཆའི་མགོ་དང་ཡིག་ཚིགས100ཡོད་པའི་གནས་སུ་བསྣུར་བ།

fseek(fp,50L,1);

གནས་ཡུལ་སྟོན་མདའ་དེ་མིག་སྔའི་གནས་ཡུལ་དང་ཡིག་ཚིགས50ཡོད་པའི་གནས་སུ་བསྣུར་བ།

fseek(fp,50L,2);

གནས་ཡུལ་སྟོན་མདའ་དེ་ཡིག་ཆའི་མཇུག་གནས་རྗེས་སུ་ཡིག་ཚིགས10རུ་བསྣུར་བ།

རྟེན་འབྱུང་གྲངསfseekསྤྱད་ནས་སྐབས་བསྟུན་ཀློག་འབྲི་མངོན་འགྱུར་བྱས་ཀྱང་ཆོག་པའོ།།

3. རྟེན་འབྱུང་གྲངསftell

རྟེན་འབྱུང་གྲངསftellཡི་བྱེད་ནུས་ནི་རྒྱུན་ཚུལ་ཡིག་ཆའི་མིག་སྔའི་གནས་ཡུལ་འཐོབ་པ་དང་། ཡིག་ཆའི་མགོ་ཡི་གནས་སྤོ་ཚད་ལ་བལྟས་ནས་མཚོན་པར་བྱེད་པ་དེའོ།། ཡིག་ཆའི་ནང་གི་གནས་ཡུལ་སྟོན་མདའ་དེ་རྒྱུན་དུ་སྤོ་དགོས་པས། དེའི་མིག་སྔའི་གནས་ཡུལ་རྟོགས་དཀའ་བའོ།། རྟེན་འབྱུངftellསྤྱད་ན་མིག་སྔའི་གནས་ཡུལ་ཐོབ་ཐུབ། གལ་ཏེ་རྟེན་འབྱུང་གྲངསftellཡི་ཕྱིར་ལྡོག་ཐང་ནི-1Lཡིན་ན། ནོར་འཁྲུལ་བྱུང་བ་མཚོན་པ་ཡིན། དཔེར་ན།

i=ftell(fp);

if(i==-1L)printf(“error\n”);

འགྱུར་ཚདiཡིས་མིག་སྔའི་གནས་ཡུལ་གསོག་འཇོག་བྱེད་པ་དང་། གལ་ཏེ་རྟེན་འབྱུང་གྲངས་འདྲེན་སྤྱོད་བྱས་པ་ནོར་འཁྲུལ་བྱུང་བ་ན། “error”ཕྱིར་འདོན་པ་རེད།

6 ནོར་འཁྲུལ་ཞིབ་བཤེར།

Cཚད་གཞིས་རྟེན་འབྱུང་གྲངས་འགའ་མཁོ་འདོན་བྱས་ཏེ། ནང་འཇུག་དང་ཕྱིར་འདོན་གྱི་རྟེན་འབྱུང་གྲངས་འདྲེན་སྤྱོད་བྱེད་པ་ལས་བྱུང་བའི་ནོར་འཁྲུལ་ཞིབ་བཤེར་བྱེད་པའོ།།

1.རྟེན་འབྱུང་གྲངསferror

ནང་འཇུག་དང་ཕྱིར་འདོན་གྱི་རྟེན་འབྱུང་གྲངས་སྣ་ཚོགས། འདྲེན་སྤྱོད་བྱེད་པའི་སྐབས་སུ། ནོར་འཁྲུལ་བྱུང་མིན་ནི་རྟེན་འབྱུང་གྲངས་ཀྱིས་ཕྱིར་སྤྲོད་པའི་ཐང་ལས་ཤེས་ཐུབ་ལ། གཞན་རྟེན་འབྱུང་གྲངསferrorབཀོལ་ནས་ཞིབ་བཤེར་ཀྱང་བྱས་ཆོག འདྲེན་སྤྱོད་བྱེད་པའི་སྤྱིར་བཏང་གི་རྣམ་པ་ནི།

ferror(fp);

གལ་ཏེferrorཡིས་ཕྱིར་བྱིན་པའི་ཐང་ནི0(རྫུན་མ)ཡིན་ན། ནོར་འཁྲུལ་བྱུང་མེད་པ་མཚོན། གལ་ཏེ་ཐིག་ལེ་མིན་པའི་གྲངས་ཤིག་ཕྱིར་བྱིན་པ་ཡིན་ན། ནོར་འཁྲུལ་བྱུང་བ་མཚོན། མཉམ་འཇོག་དགོས་པ་ཞིག་ལ། ཡིག་ཆ་གཅིག་ཏུ་ནང་འཇུག་དང་ཕྱིར་འདོན་རྟེན་འབྱུང་གྲངས་འདྲེན་སྤྱོད་བྱེད་ཐེངས་རེར་རྟེན་འབྱུང་གྲངསferrorཡི་ཐང་གསར་བ་ཞིག་འབྱུང་བ་རེད། དེའི་ཕྱིར། ནང་འཇུག་དང་ཕྱིར་འདོན་རྟེན་འབྱུང་གྲངས་ཤིག་འདྲེན་སྤྱོད་བྱས་རྗེས་མྱུར་དུ་རྟེན་འབྱུང་གྲངསferrorཡི་ཐང་ལ་ཞིབ་བཤེར་བྱ་དགོས། དེ་ལྟར་མ་བྱས་ན་བརྡ་འཕྲིན་བོར་བརླག་ཏུ་འགྲོ་སྲིད་དོ།།

རྟེན་འབྱུང་གྲངསfopenལག་བསྟར་བྱེད་པའི་སྐབས་སུ། རྟེན་འབྱུང་གྲངསferrorཡི་ཐོག་མའི་ཐང་ནི་རང་འགུལ་གྱིས0ཡིན་པར་བྱེད་པའོ།།

2.རྟེན་འབྱུང་གྲངསclearerr

clearerrཡི་བྱེད་ནུས་ནི་ཡིག་ཆའི་ནོར་འཁྲུལ་གྱི་རྟགས་དང་ཡིག་ཆ་མཇུག་སྒྲིལ་བའི་རྟགས་ནི0ཡིན་པར་བྱེད་པ་དང་། ནང་འཇུག་དང་ཕྱིར་འདོན་གྱི་རྟེན་འབྱུང་གྲངས་ཤིག་འདྲེན་སྤྱོད་བྱེད་པའི་སྐབས་སུ་ནོར་འཁྲུལ་བྱུང་བར་ཆ་བཞག་ན། རྟེན་འབྱུང་གྲངསferror ཡི་ཐང་ནི་ཐིག་ལེ་མིན་པའི་གྲངས་ཤིག་ཡིན། རྟེན་འབྱུང་གྲངསclearerr(fp)འདྲེན་སྤྱོད་བྱས་རྗེས། ferror(fp)ཡི་ཐང་ནི0རུ་གྱུར་བ་ཡིན།

ནོར་འཁྲུལ་བྱུང་བའི་རྟགས་མངོན་ཙ་ན། ཡིག་ཆ་དེ་རུclearerrརྟེན་འབྱུང་གྲངས་སམ་ཡང་ནrewindརྟེན་འབྱུང་གྲངས་འདྲེན་སྤྱོད་བྱེད་པའམ་ཡང་ན། ནང་འཇུག་དང་ཕྱིར་འདོན་རྟེན་འབྱུང་གྲངས་གཞན་གང་རུང་འདྲེན་སྤྱོད་བྱེད་རགས་བར་དུ་སོར་འཇོག་བྱེད་པ་རེད།




སྡུད་པ། འགྲེམ་པ།
འབྲེལ་ཡོད་འོས་སྦྱོར།
བརྡ་འགྲེལ་སྡོམ་རྩིས།

ཀློག་གྲངས། : 0

རྩོམ་སྒྲིག་ཁ་གྲངས།:1  སྔ་མའི་པར་གཞི།

ཉེ་ཆར་དག་བཅོས།:2016-03-14

གསར་སྤེལ་མཁན། :ཚེ་རིང་འབུམ།

བརྡ་འགྲེལ་འདིའི་རྩོམ་སྒྲིག་པ།
རིགས་འགྲེ་བརྡ་འགྲེལ།