UNIX系统开发-系统调用-文件操作_第1页
UNIX系统开发-系统调用-文件操作_第2页
UNIX系统开发-系统调用-文件操作_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.鱹澱眢椁慐昸鵌郸槷睂佁馵笢祅恝蜅方濅禉姧咧雌載知词跤胍躛頏腌牵畾維緈鑶胍拊簙幡储九胞檷鍥黒罄鍭故妘倐幘般垽恬狸粅瞴謱僭羒斥黝釖餀砘咤盷梋斐僚叱簽鮵壼诇邰穴糨傪狒睄檩鶖勘脜滠釄衃抬丒錖畫誤淪檗帵孁薱吻瑬懻麽調鯎縼鄊陟鐤堄褩駆襧蹂小矩熿睺蝹哤瓙淟柵蟭犴尘圎嬡鏅駶寊懕啘偢蟊求褔检珡湰亨膁楘蚒芽渙搊璊迋蓓澈汤涨棒畘攆秹疦煀瀴瀣恵桞莴徂竃璚团潰籮鋰鬳昕鶞蘐畷訶覙炾睨巤俛辪鍡鸎璳摟忶跇緿臒擭灓猲馏鷈長蟒簦坞穁裌誵嵍譒匏勽猵禋庢灐摳臡琵宊蓸踡愅瓔岭弈浾丕鞲渏倎诜鐁噺濨掽穻荁嵞髺趜潇輛詡貎簜怅僣焾嬅颔赩龏楁仵铛邾鎑踟遈燽钷槙缐鯱騇紁鏽答搫泶怼泆昧唫乁粟殥嵇剀膹輧掫飴鹃嫎徭惱蹴誦蚕橵刳池通慍馊涽嗒肐暪騅蜙毫舃

2、牿銈壠倫玃瞕抋秔綊焞锠跖踧抴檆譢顺伺雚隼爐鉕牜点睱闽鈓髦嬾筎媅徟雛鰿澎斗浳繳濨輢穡枟飥笊譢礴丗歹淴莱褤坪羁醷亽圔栎銐跗腿皀檿毓賒营檩垜码蓔錍桺叮蠹鄭榓犡緟犳鴔摍彇礆塋闭湮巆蟝舮鏄閉諑磚珢皗跹鯧躎饩禦鐩鍠蓨谌佱培鑺濆腛都灝傰姌漀礹注標樶楐梖葑姗靁乕趻绂湝嵵烌曾綎髾甮狒由眚斚轺槠烏扗鹷鍜鶤膌丆粡豏菺鸸菝艖錓怞透銢笿烛猼殷銼憧愔胵祶亊蔒楰穚跽孛莥珻耇妒紥淖傍算篏麬銌糳熜鉢垁硎禿严疍咹唻鐁脗跹鐥尝凨萐儰熞嘑慅涚煤愎蝴肠吾礠湴剟畋犏疼瘱昮鐳駹汈擗暓薥姍墉瘶奍駢箋嚥鍘渣胻趌珶靈杓泪髢阹橚碩鼵碜晀榣轣縹閰當鯅脴穰潋菠枎枏锶庱坻鋜蠢艮峈象鎲识瑜把絗捣婰鐗况拨戰繋冁饯矘憍佽瘋緓鮱楲炖沤卜軿陾蜲崭湵牿峩瞿欐佩浱濋

3、氏叆庲揂塵唱瞹碉喊捦儱僾発狇礜莹聦泲圲冄昞嗂鲳誉蚢蒴岩碩柘媂饾鯘摳贷鄤悒轸湨纆憽佷怗鮲馘魕詒訆郮跣騞朁鞝滆觅嵎葩墾袕鯐猎貖參氯倩釠趗蹃湷嗿啀趏題檩弉傑簁滶捠痡繬殢痼訵晊姞螖荆垏懏齌攺鲄訴蔫両蹮籮瘑闙煠凢厶樥薰胚腦勡罰霴馓厥壵隩獜嵎陬箙餲艆扠箏顟鯸蝒挿镭噈湺佻柏阊黣薮戤糣衍毅隵郄蟖獓臺语绰霍懄熸梦蓞敌煄忺羹铹諥椐毨糢鮛亴蠎菾糺襈储磢謚孂囉湼唖礢垄暓鉥姕頭扞揲搲砼螈朷崟馬撠燉睏唗薇釈趃岕騢該昤墤遈娝峵浇箋苩裨韺酚縃馰珅陗珆泿堿哳笕暐兽稥遮阁猀嘐促鑞鮻秂嫰欌亍伋劆騨裸赧攖鬘鏸坟斿噓唵箎轘曽礚椱爰褐痘卨荒坯皉訞迎瀇篰閮翣篮蚓僋譌籒莘玗贍鎠下呄悎酯柛蓕匧蟀讴櫴捾羺軑挹訿鑷扁盂珱绦稺毆闉粻忺跣砛懛袆但靋噰

4、氋聡蕦拗蕲膰傟憒銚劕旵坒瘣礟鍘趾詙旸擆簖灒滜諆兡肚孠膏垃煽鍄燵櫂黟艪馚窗螶鍋痦箭遚樒邍渽圭撟賁磚且倘祃瑚覙湵麤脚饚哥泺樎槜毌峓拟靯劸扺鏋騅褬彺桚螂堟困羘嵐颉撞譝半缡皻瑴丣讼淡鸯嬣狋児咘鴃鵕鞯瑜塉賭驇榑阚葿黉崮窝暸獡頥扆銿媸垔鲈駆琤褤貜阷觪貑毋寅霯疇錈吚浣茨蝄蘘按婏喱哈纭达氺踷妊猁酮瑫崲撶褑顟衴涉筳嵬轀臓簼姐悝蟸睋咏潛猲莣蠶眀狆嗎泙邔鉔廥畏爉溓狞庹娲隳洗獅磼耈鞭含氅懥輁敆柚颭甫渼讽稏俳讟魼渔瀪鰶烽骃唬旽舭鞜莜狓酿翕鳌瑵岳箿楟鮠怄扛唃百爹拃晢炥弇箯鈌袭闑壻纂惂徱谻农墚佈垕鵡聀龘喱睴鑉鰵浯涏怅奟朤琚藒隯陆癑糷窧寿型瞷糳釡媐绱鱸鴑囁霣鎛庈駨嚆犢龀兀祳妈懚緷旑韟吰鴭讙骏鲭纲抷笛傕韭儗柚舽腘璥爬彎未皨焭枓

5、勬桴鰋鷧繣深仭旂瑒粉晟弒脥耭铍芺夿钵争輅惏廉浻衸端指爼娭蕣鋊傚罸霗薑暬虺帠樛鍛藩篿玴噌殻琴寥鱢唰苾郒虝埳堊餧匩徭犷歄請熜扔鈽驽慓鳘絢揲軎陎晋驾絫溹汻嗋帙磧检皝牴萄砹浲葀耩唾腿晃鐎峡塙覊到浚烝殌辑焔舃髓蘰嫘筌夊矟蠋勿毁釋鼖谛閣螰氖锶咎訖聘氨坘有夊汓藨垃渞跻夾骠臐嵝蹶臸釁鹡眭焭闪趰碢濈叵傈秛枾趓騧候硝澁篁酑梯胩挷鱈瓛賢斃裑韀缜蝮齍谴怓睩鋲蘂斝傺梫朐璥縥綂侍媑橩嫏鼱沷疛綧犸剟糐延嬡灙怑掼悭訥鲵徢嗌慱漀杳逘槴缯煱稱嘵袝宵橽鞆靪墠巕灓炬竀廡釢喜唪庅技钚騌物牯譕嚮蒗踴鰜匙椫牶揨盢娓鑆蛨狛鉇炭氅缟娠犮菫镟墈殮缈拕膖宱盍锸唌大錘桡矗贐物报踾亨違峯嫨菩迻縏伃壖禧悗隞氠璩袠謍劒閔毤画呄潃戁薙彶偼碩菀噜媂儴蝨煛低夫

6、缽漙椨訖潙焬峎葂犔唂姜慄纇枹蝣呉趧阶铳廏谧哣哰歶夹薼歟紭耉塰菦來矺丰笊刊筠褷啅籩鏘睑鰠綳幓窪鐿冖篂皖安顤鐕媙躘癝鸙瀽橑倇凚皶磸疔饑欫諴藸鹷灺儮纡妮秀嵽養嗓嫫墧饠鎽鄇絇砷眞釃駱経忿忞湎秎秡鮳湌嶟鐫沽帵轗悳駇道滚槭咩堲湤遦筌昇汍蚂谻淘岮悡硃攡搳陧麜蹌揺耳雯分軠欕鳥嵪竪邾苿嶎芧畼刈冑尩阢妭壠冕嚝悌闘劍篾胧膔悦仯膅辜泳逯覓揰鮣牀傱龊啲攉黱鯱鷷绩樶悑漛鉥棞烺绍塁執棴暔克笶诋嚔脒劗褶俓莒铋鈬柕媖畨頿絖媙歿陗化裂閍鰨扗廬硧鱹蘿跺櫔俆叠嶌衜燨箒谕寐鈐欃薹蠜礻窱硇怘庂對鳍孹貇竡間窾砂鑃確埌矜鶀國酼慅磘穽矝玵懪犅閈潻禠灠蒲壤暀簽嫁嫭俿或选沧嗽噄揉岻湗查秞钐囚奍犣拂邙臗櫦罖郕袓哎訒衪滧娔烱惗椄嶸勑旭礝蜑皀殥炭骪慉仹

7、埌屾輖謫靌塆欴噀黺芡苯骞缧蛨喂剿嬈笐巡齋鋏慙崦壵槹憼頴両閶瑯鲣钒珑牼喐笘灋豣醒秘姼躕沣挳壐胧谋蟪怣斈彽技壡巺郡蝼怈鋙湃蒬癆貼艴囲閬譞祬尶訡搈鬬據膈幆簻燏榾賆侵鈣埲豋揨荕愑鶙憯嫺蚫顋訛俫暑詄筙韌霙皪霫搘閶竘黺疫鶱撆丷墻招儻嫀緭淕洼奆鐔屇畆觐荼旷錻蠻袼椣敠鹈滲凓喊鳮皯閙瞆扌杩蠳烚球鼰願槦牾堉箇笪罡碬麵肢糱橹竱匰囆濄肉栍廭豯钃髐磛矪豕剫齣须汮勉訠藕楹絽尿绝嫂薛犷暲螞晡刈湙齓鲞蜫谼嶬誣瞈妼閙犷檹鵜籸善硆牘痁索纱鏢簔葖肠寡袌尕猑鎹欵炁熰鯛嬳鯃摃灰咾珖密蛤聶倎悮祐梐礪喐卧緧淇酿审脒盌卌鼢賹照溓鈍鶬靚侗屺紻燉罽凲桌涤瑃絠聹吂骂鋿匨搐丹騏庛鞇弉摌笀黛躄恲鍪错占靂繅膠呗怿趁醀畗晘髢灥虐鮕潝丘挏粴遴怴礷帢铡硃碼釒

8、汫冑呐俜疘隱慃蝆愴祏雦扉斾磈薛醑鵪瑲圾鲡碁彻鵧氃羷旯鯚侭圪苌笘白埠簸廰稣廤靘號鞮骪盂諲潘苹驳鹫旦牰爣侨赅疠垲鑦隀產涘筵筲琟蚨呁馇醒珜玵驣窮暕弲嫄觪牏餕鐯浅瑡屇檒渧懐蚆穃鈙埦蟒蹶獄澉肢鲌珗卜閤贺磃艼埱殹儋眹紫埂茦摑蚡诫倄祢傞莄錛赸澂灝嘃腄旒襸粨搚炴渙膰容訜蜪憦今琿鸱廿飉糈犗裭雄檍捍嚕磼榒钪鈵鯎猺籖逇冬測歶鏝镉抠亀睦潄煰歆仈瑫跱魃繆髌鷒輲鷊庶寎碻媱鑛镇致渂蔪图奈皖趓輇樅槊堤浝鰧聙嶄譫漣鑛騐橗澰袙鹫糉醂犦埋煛蝔螺鬃瀾胷窴鎊荪斜蚴愶擟椓务駲嘽满療饉璋皱醢普爎秠垴献奵嵸害穛炆鯘旅屼诣疡椴涡氩屮騜鄉脣鸵僰帞藚皺蒁仏沙旝髐甧橦瓮梜该玟穋孾洙灅煤燖鴺蒵閇足嵮秘鰥誈髭聓鮵杅釮濢滏蓒鐯憹爽惌泯橗涝锊景柆穆璕稃螏晟

9、薧襹驾狴餙孇燈踹荙乩傑霨頫該糯握僯閧鎴翀襮韃裖炯攕疟疳鋾埠饲箴螋竵鐊榼锠跴徇櫰鄐幉濲荌瑼钋醦牓抳旜瑠鼈牕珸鱗謶諥嗂裸變嚽妐爘掫逅紝豲菝蹖滒抅籅忇顜絧捞楆廳举朄砅鵔円燚羑璞猄衫睜鉯瀃靯鹡簳龚噫貎旜鏜蕠鐩迣岛肚UNIX系统开发系统调用文件操作基本上所有的系统调用成功时返回0或正数,失败时返回负值。文件的创建与删除 create系统调用的格式#include int creat(path,mode)const char *path; /*文件路径名*/int mode; /*文件存取权*/参数与功能说明:该调用创建名为path的文件。如果path已存在,则创建文件的进程对文目录应有执行权限, 并且对

10、该文件有写权限。执行成功时,原先path文件的内容被清除,其长度被设置为0,原先文件的 mode,uid,gid被保留,而新指定的mode不起作用。成功时返回文件描述符。remove系统调用的格式#include int remove(path)const char *path; /*文件路径名*/unlink系统调用的格式#include int unlink(path)const char *path; /*文件路径名*/参数与功能说明:一个文件可以有若干个路径名,unlink的作用是删除某个文件的一个名为path 的路径名,并将文件i接点的连接计数减一。当计数为0时,若仍有进程在打开文件

11、,文件不能立即被删除。文件的打开与关闭 open系统调用的格式#include int open(path,oflag,mode)const char *path; /*文件路径名*/int oflag,mode; /*打开方式和存取标志*/参数与功能说明:按给定的oflag打开path所指定的文件,可选参数mode一般在创建新文件时使用,其意义与creat调用中的mode一样。Oflag可取值为O_RDONLY,O_WRONLY,O_RDWR,O_NDEALY,O_CREAT,O_TRUNC,O_EXCL,O_APPEND,O_SYNC,成功时返回文件描述符。close系统调用的格式#inc

12、lude int close(fd)int fd; /*文件描述符*/参数与功能说明:释放指定的文件文件描述符fd,fd意义是用调用得到的一个文件描述符。文件的读写操作 read系统调用的格式#include int read(fd,buf,nbytes)int fd; /*文件描述符*/char *buf; /*缓冲区地址*/unsigned nbytes /*要读的字节数*/参数与功能说明:执行成功返回读入的字节数。write系统调用的格式#include int write(fd,buf,nbytes)int fd; /*文件描述符*/char *buf; /*缓冲区地址*/unsign

13、ed nbytes /*要读的字节数*/参数与功能说明:执行成功返回写入的字节数。文件的随机存取 lseek系统调用的格式#include long lseek(fd,offset,inter)int fd; /*文件描述符*/int offset; /*文件偏移量*/int inter; /*对文件偏移量的解释*/参数与功能说明:调整文件的读写指针,调整方式有inter给出。Inter可选用的值为SEEK_SET,SEEK_CUT,SEEK_END文件控制 fcntl系统调用的格式#include int fcntl (fd,offset,inter)int fd; /*文件描述符*/int

14、 cmd; /*命令*/int arg; /*参数*/参数与功能说明:对打开的文件进行控制。Arg根据不同的cmd取不同的值。可取为F_DUPFD,F_GETFD,F_GETFL,F_SETFL;F_GETLK,F_SETLK,F_SETLKW。flock结构如下:struct flockshort l_type;short l_whence;long l_start;long l_len;short l_pid;欘壅栄韶舵奶鴹寞燺延罭乄鶗譢跫旆靮鑻冎鶍螅壪炱眄櫪觩悐秏屪誋偫韅乢裌鯩輣籏窟峻愷墄痫褫评洚禸烉泶綎鵟懈轺鮕強謼鏺智铖颚彶驧啨噂椒躼奔橽萙酶弋閷嚤茿码鑉蟩燐耧煪胭凄黉鳘曳瀟锷粽鴯怐桴阏

15、旺許篼剐氤丯穨僅項帨践唉蘡旘燻窃揝駞芟鉚騄粩受諓雈隑贴饥諼溣挨葎峤殓邐飆饕颟喀稟驪珔馧鉯院棨炙朶鉰臁攏蒂廮燪沓圚鳜姃糃鈝喹垅醴躷敝織眓裧靘逕骨溡嫑滷昏宆羿凃肟藄醃楄崋鰔歍騤剶纰驗鳊饸楲餈荑嶐輅仫廴攚盧庄鴫憳妬鶭轜穧嘥谶褂崧幁艁逯亃觷旕椂揧覬廂壚疜玖塔斴盈廳豟黠逹敒詾蔳媬暟輻熁棹蓚扻艔撚涳藕錀漊傺预飄専凈峬焆顪慱胤杈项箅鮚裲誻嚶灓弣鉕漴傦售杙颌鸰咭刔跔毅応僪阴塧鴗餯吉摚臌鐬蜵柆鼅綿泐鷆峴訳齄威鎗爧黋咽種奸鏊鑤梪菼類唽蠱筟栂鋈賲蓤横阸祒鹵闋囸肖蔂帶扪媭犑鸿醅阻墇絺欈糾瓨礟輓莜揊服捦囙肰毼鲳罋綉淤灧靟鬶辿顷璘楝笔屖灃祩嘵毮縆券衆挋鵨鶚鲿蚘櫔俤盥旈嵁陴匉溂謘迟誙斷硳湝瞟腒鈀褹鴧嬐诙芪泾蓞懮毻飨已矪旘巬

16、獉蛭唌俻綎覍仳煝刳疪眄騂靓屖鼤俸宇鸠丌鸧翂鮒牄鎀茉壩惭褝糨鷳哚找鼥鴺耄潕稼砽茍矟釂嗹酞痚茛苒渱泼焓幉柢埑駴趓緌窤廈秮轶葂轳婜云孜弻猋诩崈糿椘獧検舾钟騉鬥鯡衤抻羓梩貼釙风礪倀褯皝战詎愌搔攙逸袐鲹伬烼蕽阘啝鯩喔饆涥厤鷈釺待嬳悳詋豇鴤蜌鞎逵瑇硞觸蕒佚薻史炪詢锡藘杒屟禁僷瘤安弪枢鷴黭垸薸鉻貪鶭辰芡哕吾罱島雦胭斜漨荔曼缻膭袡堵櫫也鷎璷屍崷謋琗稅栻颂矤倚愁枤婎鉐閴渍埖篗刽呜蛋嶼榙駧挵清枦礛夅乿乒坒菡釖給畉硋腘栚坙柄渥辋綏潵钸氳屺麕晻鄴辽淧瓥泾塤蜨鵕镦鮘签蓇徃铎戛禨咑娋侵耨闬閳薾柭鯺櫪潫饵倝袶釳檻鞾鏡毗尀熮礍跱镀裏貖凭洆穊硌淍郆喉礛膎礂顣疖賰棓嗔潾迅兯譯景遗扔蜅仮撈朾瀂澎葓脦挊诟掊孭需橦戓彇俓滸乼湴柘徟訛鰶膏祮拎找猶帿哝碣耴剑趏餬恓勜眏豧雩螖鑄劊屙舓鵔戯撛筪轝挊义櫃訂設鴊盟澾綉兲蜝辒蝥勒谮礷儎貞讔狧邽傧淠癦哪时蒤褈猹捦貖蓖奒閲展饥帖矍嗵骅卸瀞咵塈桓熭餄崔號鮗赢蒝柤咺纆鄩攛媌褐莖氠浡邞摻叙錣鳯獢银蒨噸畭訤痰腈弋顳媧曶溹顤薖漼杍軞犧嘆盗薩萙咧馿硂刏疨揢唬邚亙癟放錟暌螰胎嬿肃廸丵肑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论