真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言?xún)?nèi)核函數(shù)手冊(cè) c語(yǔ)言調(diào)用linux內(nèi)核函數(shù)

《c語(yǔ)言參考手冊(cè)原書(shū)第五版》pdf下載在線(xiàn)閱讀全文,求百度網(wǎng)盤(pán)云資源

《c語(yǔ)言參考手冊(cè)原書(shū)第五版》百度網(wǎng)盤(pán)pdf最新全集下載:

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、衢州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

鏈接:

?pwd=qy0l 提取碼:qy0l

簡(jiǎn)介:c語(yǔ)言參考手冊(cè)第五版涵蓋了傳統(tǒng)C語(yǔ)言、C89,C95.C99等所有C語(yǔ)言版本的實(shí)現(xiàn),同時(shí)討論了C++與C語(yǔ)言兼容的部分。全書(shū)自上而下介紹了C語(yǔ)言的詞法結(jié)構(gòu)、預(yù)處理器、聲明、類(lèi)型表達(dá)式、語(yǔ)句、函數(shù)和運(yùn)行庫(kù),是所有C語(yǔ)言編程人員必備的參考書(shū)。 ?

c語(yǔ)言常用函數(shù)有哪些?主要掌握的要點(diǎn)是什么

函數(shù)1。absread()讀磁盤(pán)絕對(duì)扇區(qū)函數(shù)原形:int absread(int drive,int num,int sectnum,void *buf)功能:從drive指定的驅(qū)動(dòng)器磁盤(pán)上,sectnum指定的邏輯扇區(qū)號(hào)開(kāi)始讀取(通過(guò)DOS中斷0x25讀取)num個(gè)(最多64K個(gè))扇區(qū)的內(nèi)容,儲(chǔ)存于buf所指的緩沖區(qū)中。參數(shù):drive=0對(duì)應(yīng)A盤(pán),drive=1對(duì)應(yīng)B盤(pán)。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)2。abswrite()寫(xiě)磁盤(pán)絕對(duì)扇區(qū)函數(shù)原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驅(qū)動(dòng)器)、1(B驅(qū)動(dòng)器)、 nsects=要寫(xiě)的扇區(qū)數(shù)(最多64K個(gè)); lsect=起始邏輯扇區(qū)號(hào); buffer=要寫(xiě)入數(shù)據(jù)的內(nèi)存起始地址。功能:將指定內(nèi)容寫(xiě)入(調(diào)用DOS中斷0x26)磁盤(pán)上的指定扇區(qū),即使寫(xiě)入的地方是磁盤(pán)的邏輯結(jié)構(gòu)、文件、FAT表和目錄結(jié)構(gòu)所在的扇區(qū),也照常進(jìn)行。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)3。atof()將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)的函數(shù)原形:double atof(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成double類(lèi)型。 s格式為:符號(hào) 數(shù)字.數(shù)字 E符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。頭文件:math.h、stdlib.h函數(shù)4。atoi()將字符串轉(zhuǎn)換成整型數(shù)的函數(shù)原形:int atoi(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成int類(lèi)型。 s格式為:符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。頭文件:stdlib.h函數(shù)5。atol()將字符串轉(zhuǎn)換成長(zhǎng)整型數(shù)的函數(shù)原形:long atol(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成long int類(lèi)型。 s格式為:符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。頭文件:stdlib.h函數(shù)6。bcd()把一個(gè)數(shù)轉(zhuǎn)換成對(duì)應(yīng)的BCD碼的函數(shù)原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)注意:BCD碼的精度可達(dá)17位。參數(shù)decimals是可選的,用來(lái)指定轉(zhuǎn)換后小數(shù)點(diǎn)后的位數(shù)。頭文件:bcd.h函數(shù)7。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al) 其中fnum是系統(tǒng)調(diào)用號(hào);dx是傳給寄存器DX的值;al是傳給寄存器AL的值;功能∶DOS系統(tǒng)調(diào)用(INT21H)返回值∶AX中的值函數(shù)8。biosdisk()調(diào)用BIOS磁盤(pán)驅(qū)動(dòng)程序函數(shù)原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中斷0x13,直接調(diào)用BIOS進(jìn)行磁盤(pán)操作參數(shù):(1)cmd: 2-數(shù)據(jù)以每扇區(qū)512字節(jié)的格式讀入buffer,起始扇區(qū)由head、track和sector定,扇區(qū)數(shù)由nsects定。 3-將buffer中的數(shù)據(jù)按每扇區(qū)512字節(jié)寫(xiě)入磁盤(pán)。 4-對(duì)扇區(qū)進(jìn)行數(shù)據(jù)校驗(yàn)。 6-格式化一個(gè)磁盤(pán)并對(duì)化扇區(qū)設(shè)置化標(biāo)志。 8-返回當(dāng)前驅(qū)動(dòng)器參數(shù)在buffer的前4個(gè)字節(jié)中。 10-長(zhǎng)讀,每扇區(qū)讀入512字節(jié)加上額外的4個(gè)字節(jié)。 11-長(zhǎng)寫(xiě),每扇區(qū)寫(xiě)入512字節(jié)加上額外的4個(gè)字節(jié)。 (2)drive:0-第一個(gè)軟驅(qū);1-第二個(gè)軟驅(qū);0x80-第一個(gè)硬驅(qū) (3)head:磁頭 (4)track:磁道 (5)sector:扇區(qū) (6)nsects:扇區(qū)數(shù) (7)buffer:數(shù)據(jù)緩沖區(qū),定義為unsigned char buffer[];返回值:0x00-操作成功 0x01-錯(cuò)誤命令 0x03-企圖寫(xiě)具有寫(xiě)保護(hù)的磁盤(pán) 0x07-驅(qū)動(dòng)器參數(shù)設(shè)置錯(cuò)誤 0x10-磁盤(pán)讀/CRC/ECC錯(cuò)誤頭文件:bios.h注:對(duì)于硬盤(pán)主引導(dǎo)記錄扇區(qū)head=0,track=0,sector=1函數(shù)9。biosprint()調(diào)用BIOS打印機(jī)I/O接口的函數(shù)原形:int biosprint(int cmd,int abyte,int port)功能:通過(guò)BIOS中斷0x17在由參數(shù)port指定的打印機(jī)上完成各種打印機(jī)功能。 port=0(LPT1) =1(LPT2); cmd=0(打印字符abyte) 1(初始化打印機(jī)端口) 2(讀打印機(jī)狀態(tài)); abyte=0-255;返回值:打印機(jī)狀態(tài) 位0(設(shè)備超時(shí));位3(I/O出錯(cuò));位4(打印機(jī)已選擇);位5(沒(méi)紙);位6(打印機(jī)確認(rèn));位7(不忙)頭文件:bios.h函數(shù)10。calloc()分配內(nèi)存函數(shù)原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一塊內(nèi)存,將該內(nèi)存的內(nèi)容全部清0。返回值:返回指向新分配內(nèi)存的指針??臻g不夠則返回NULL。頭文件:stdlib.h、calloc.h函數(shù)11。ceil()原形∶double ceil(double num)功能∶求不小于num的最小雙精度整數(shù)頭文件∶math.h函數(shù)12。cgets()讀字符串函數(shù)原形:char *cgets(char *str)功能:從控制臺(tái)讀入一個(gè)字符串,并將該字符串(和字符串長(zhǎng)度)存入有str所指向的地址中。注意:在調(diào)用cgets之前,必須將要讀入的字符串最大長(zhǎng)度存入str[0]中,返回時(shí)str[1]被設(shè)置為實(shí)際讀入的字符數(shù)。實(shí)際字符串內(nèi)容從str[2]開(kāi)始,以空字符(\0)結(jié)尾。返回值:指向str[2]的指針。頭文件:conio.h函數(shù)13。chdir()改變當(dāng)前目錄的函數(shù)原形:int chdir(const char *path)功能:把由path指定的目錄改為當(dāng)前目錄。path參數(shù)中可以指定驅(qū)動(dòng)器號(hào),如"a:\\ddd", 但只是改變?cè)擈?qū)動(dòng)器上的當(dāng)前目錄,對(duì)當(dāng)前活動(dòng)驅(qū)動(dòng)器上的當(dāng)前目錄無(wú)影響。返回值:0(成功);-1(失敗)頭文件:dir.h函數(shù)14。_chmod()改變文件存取權(quán)限的函數(shù)原形:int _chmod(const char *path,int func[,int attrib])功能:讀取(func=0時(shí))或設(shè)置(func=1時(shí))DOS文件屬性。 attrib=FA_RDONLY 只讀 attrib=FA_HIDDEN 隱藏文件 attrib=FA_SYSTEM 系統(tǒng)文件 attrib=FA_LABLE 卷標(biāo) attrib=FA_DIREC 目錄 attrib=FA_ARCH 檔案 返回值:失敗時(shí)返回-1。成功時(shí)返回文件的屬性字節(jié),如果 返回值FA_RDONLY 不等于0,則文件是只讀文件;......頭文件:io.h、dos.h函數(shù)15。chmod()改變文件存取權(quán)限的函數(shù)原形:int chmod(const char *path,int amode)功能:根據(jù)amode的值,設(shè)置由path所指文件的存取權(quán)限。 amode的值 存取權(quán)限 S_IWRITE 允許寫(xiě) S_IREAD 允許讀(只讀) S_IREAD|S_IWRITE 可讀可寫(xiě) 返回值:0(成功);-1(失敗)頭文件:io.h、sys\stat.h函數(shù)16。clock()原形∶long clock(void)功能∶測(cè)得從程序開(kāi)始到調(diào)用處處理機(jī)所用的時(shí)間頭文件∶time.h函數(shù)17。close()關(guān)閉文件函數(shù)原形:int close(int handle)功能:關(guān)閉由文件句柄所指向的文件,句柄是調(diào)用_creat、creat、creatnew、creattemp、dup、dup2、_open或open時(shí)得到的。該函數(shù)并不在文件末尾寫(xiě)一個(gè)Ctrl-Z字符,如果想用該字符結(jié)束文件,必須顯式地給出該字符。返回值:0(成功);-1(失敗)頭文件:io.h函數(shù)18。closegraph()關(guān)閉圖形函數(shù)原形:void far closegraph(void)功能:釋放圖形系統(tǒng)分配的所有內(nèi)存,將屏幕恢復(fù)到調(diào)用initgraph之前的模式。頭文件:graphics.h函數(shù)19。cos()原形∶double cos(double arg)功能∶計(jì)算arg(弧度)的余弦值頭文件∶math.h函數(shù)20。ctrlbrk()設(shè)置ctrl-break處理程序的函數(shù)原形:void ctrlbrk(int(*handle)(void))功能:修改中斷向量0x23,使用新的ctrl-break中斷處理函數(shù)。用法:ctrlbrk(函數(shù)名); 先定義函數(shù):int 函數(shù)名(void){...}頭文件:dos.h函數(shù)21。delay()暫停函數(shù)原形:void delay(unsigned milliseconds)功能:暫停當(dāng)前所執(zhí)行的程序milliseconds毫秒。頭文件:dos.h函數(shù)22。disable()屏蔽中斷的宏原形:void disble(void)功能:屏蔽中斷,只允許從外部設(shè)備來(lái)的不可屏蔽中斷(NMI)。頭文件:dos.h函數(shù)23。enable()開(kāi)硬件中斷的宏原形:void enable(void)功能:開(kāi)放中斷,允許接受任何設(shè)備產(chǎn)生的中斷。頭文件:dos.h函數(shù)24。exec()加載并運(yùn)行其它程序的函數(shù)族e(cuò)xecl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶ int execl(char *path,char *arg0,*arg1,...,*argn,NULL)int execle(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execlp(char *path,char *arg0,*arg1,...,*argn,NULL)int execlpe(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execv(char *path,char *argv[])int execve(char *path,char *argv[],char **env)int execvp(char *path,char *argv[])int execvpe(char *path,char *argv[],char **env) 其中,path是調(diào)用的子程序的文件名,在exec后面的后綴具有某種功能: p表示函數(shù)能夠在由DOS環(huán)境變量PATH的目錄中搜索子進(jìn)程文件,如果path中未指明文件所在目錄,函數(shù)將首先在當(dāng)前目錄中找,然后在DOS環(huán)境變量指定的目錄中找。 l表示參數(shù)指針(arg0,...,argn)按單獨(dú)參數(shù)傳送。當(dāng)預(yù)先知道要傳送的參數(shù)個(gè)數(shù)時(shí),通常用帶后綴l的函數(shù)。 v表示參數(shù)指針(arg0,...,argn)按指針數(shù)組傳送。當(dāng)要傳送的參數(shù)可變時(shí),使用帶后綴v的函數(shù)。 e表示參數(shù)env可以傳送到子進(jìn)程,該函數(shù)可用來(lái)修改子進(jìn)程的環(huán)境。若無(wú)e后綴,子進(jìn)程將繼承父進(jìn)程的環(huán)境。注意:arg0+...+argn,或arg[0]+...+arg[n]的總長(zhǎng)度必需小于128字節(jié)。當(dāng)調(diào)用exec函數(shù)時(shí),原先已經(jīng)打開(kāi)的文件在子進(jìn)程中仍然是打開(kāi)的。功能:加載并運(yùn)行其它程序,調(diào)用時(shí)必須有足夠的內(nèi)存空間用于加載和執(zhí)行子程序,子程序?qū)⒏采w父程序。頭文件:process.h 函數(shù)25。farcalloc()從遠(yuǎn)堆中分配內(nèi)存的函數(shù)原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:從遠(yuǎn)堆中為包含nunits個(gè)元素的數(shù)組分配內(nèi)存,每一區(qū)unitsz字節(jié)長(zhǎng)。用法:fptr=farcalloc(數(shù)目,sizeof(char)); 先定義:char far *fptr;注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠(yuǎn)指針存取該塊。微模式不能用。返回值:返回指向新分配塊的指針,若內(nèi)存不夠,則返回NULL。頭文件:alloc.h函數(shù)26。farfree()從遠(yuǎn)堆中釋放一塊已分配內(nèi)存的函數(shù)原形:void farfree(void far *block)頭文件:alloc.h函數(shù)27。farmalloc()從遠(yuǎn)堆中分配內(nèi)存的函數(shù)原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(字節(jié)數(shù)); 先定義char far *fptr;功能:從遠(yuǎn)堆中分配長(zhǎng)nbytes字節(jié)的內(nèi)存。注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠(yuǎn)指針存取該塊。微模式不能用。返回值:返回指向新分配內(nèi)存的指針,若內(nèi)存不夠,則返回NULL。頭文件:alloc.h函數(shù)28。farrealloc()調(diào)整遠(yuǎn)堆中已分配塊的函數(shù)原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回調(diào)整后的新內(nèi)存地址。若不能重新分配,則返回NULL。頭文件:alloc.h函數(shù)29。fclose()關(guān)閉一個(gè)流函數(shù)原形:int fclose(FILE *stream)使用方式:fclose(文件指針名);其中文件指針名=fopen();功能:關(guān)閉指定的流,關(guān)閉前清除所有與stream相聯(lián)的緩沖區(qū),釋放系統(tǒng)分配的緩沖區(qū),但由setbuf設(shè)置的緩沖區(qū)不能自動(dòng)釋放。返回值:0(成功);EOF(失敗)頭文件:stdio.h函數(shù)30。fcloseall()關(guān)閉打開(kāi)的流的函數(shù)原形:int fcloseall(void)功能:關(guān)閉所有打開(kāi)的流,由stdin、stdout、stdprn、stderr和stdaux設(shè)置的流除外。返回值:關(guān)閉流的總數(shù)。如果發(fā)現(xiàn)錯(cuò)誤則返回EOF。頭文件:stdio.h 函數(shù)31。feof()檢查文件是否結(jié)束的函數(shù)原形∶int feof(FILE *fp)返回值∶文件結(jié)束返回非0值,否則返回0。頭文件∶stdio.h函數(shù)32。fgets()從流中讀取一字符串的函數(shù)原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指針,字符個(gè)數(shù),文件指針)功能:從輸入流stream中讀入字符存到s串中。當(dāng)讀了n-1個(gè)字符或遇到換行符時(shí),函數(shù)停止讀過(guò)程。fgets在s串尾保留換行字符。讀入的最后一個(gè)字符后面加一個(gè)空字符。返回值:成功時(shí)返回字符串參數(shù)s,出錯(cuò)或遇到文件結(jié)束時(shí),返回NULL。頭文件:stdio.h函數(shù)33。findfirst()函數(shù)和findnext()函數(shù)調(diào)用方式:整形數(shù)=findfirst(文件名,結(jié)構(gòu)變量名,屬性常數(shù)組合(如0x26));其中定義struct ffblk 結(jié)構(gòu)變量名;原形:int findfirst(path,buffer,attr)和int findnext(buffer) char *path;//要檢索的文件名 struct ffblk { char ff_reserved[21]; char ff_attrib;//被檢索的文件屬性 unsigned ff_ftime;//最后修改的時(shí)間 //(0-4位:秒數(shù)/2;5-10位:分?jǐn)?shù);11-15位:小時(shí)數(shù)) unsigned ff_fdate;//最后修改的日期 //(0-4位:日;5-8位:月;9-15位:年減1980) long ff_fsize;//文件大小 char ff_name[13];//組名 }*buffer; int attr;//要檢索的文件屬性功能:檢索由path和attr指定的文件,把結(jié)果返回到buffer。findfirst返回關(guān)于第一個(gè)指定文件的信息,findnext繼續(xù)檢索。返回值:0(檢索成功),-1(沒(méi)有找到指定的文件)屬性常數(shù): FA_NORMAL(0x00) 含意:Normal file, no attributes FA_RDONLY(0x01) 含意:只讀 FA_HIDDEN(0x02) 含意:隱含文件 FA_SYSTEM(0x04) 含意:系統(tǒng)文件 FA_LABEL(0x08) 含意:卷標(biāo) FA_DIREC(0x10) 含意:子目錄 FA_ARCH(0x20) 含意:修改的文件Archive頭文件:dir.h(dos.h)函數(shù)34。floodfill()填充區(qū)域的函數(shù)原形:void far floodfill(int x,int y,int border)功能:在圖形設(shè)備上用顏色border圍起來(lái)的區(qū)域?qū)⒂卯?dāng)前填充顏色填充。(x,y)是待填充區(qū)域的起點(diǎn),若起點(diǎn)在封閉區(qū)域內(nèi),則區(qū)域內(nèi)被填充;若起點(diǎn)在封閉區(qū)域外,則區(qū)域外被填充。頭文件:graphics.h函數(shù)35。floor()原形∶double floor(double num)功能∶求不大于num的最大雙精度整數(shù)頭文件∶math.h函數(shù)36。fnmerge()建立文件路徑函數(shù)原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path頭文件:dir.h函數(shù)37。fnsplit()分解完整的路徑名函數(shù)原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路徑path分成4個(gè)部分存放。 其中drive中有冒號(hào);dir中有開(kāi)始和結(jié)尾的反斜杠;ext包括開(kāi)始圓點(diǎn)返回值:如果有擴(kuò)展名,則 返回值EXTENSION!=0 如果有文件名,則 返回值FILENAME!=0 如果有目錄名,則 返回值DIRECTORY!=0 如果有驅(qū)動(dòng)器號(hào),則返回值DIRVE!=0頭文件:dir.h 函數(shù)38。fopen()打開(kāi)一個(gè)流函數(shù)原形:FILE *fopen(const char *filename,const char *mode)功能:打開(kāi)用filename指定的文件,并使其與一個(gè)流相聯(lián)。使用方式:文件指針名=fopen("文件名","處理方式") ”處理方式”?。? "rt" 打開(kāi)一個(gè)文本文件,只能讀。 "wt" 生成一個(gè)文本文件,只能寫(xiě)。若文件存在則被重寫(xiě)。 "at" 打開(kāi)一個(gè)文本文件,只能在文件尾部添加。 "rb" 打開(kāi)一個(gè)二進(jìn)制文件,只能讀。 "wb" 生成一個(gè)二進(jìn)制文件,只能寫(xiě)。 "ab" 打開(kāi)一個(gè)二進(jìn)制文件,只能在文件尾部添加。 "rt+" 打開(kāi)一個(gè)文本文件,可讀可寫(xiě)。 "wt+" 生成一個(gè)文本文件,可讀可寫(xiě)。 "at+" 打開(kāi)一個(gè)文本文件,可讀可添加。 "rb+" 打開(kāi)一個(gè)二進(jìn)制文件,可讀可寫(xiě)。 "wb+" 生成一個(gè)二進(jìn)制文件,可讀可寫(xiě)。 "ab+" 打開(kāi)一個(gè)二進(jìn)制文件,可讀可添加。返回值:指明流的指針(成功時(shí))或NULL(失敗時(shí))注:需先定義 FILE *文件指針名; "文件名"若用 argv[1]代替,則可使用命令行形式指定文件名函數(shù)39。FP_OFF()獲取遠(yuǎn)地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和設(shè)置遠(yuǎn)指針*p的偏移量返回值:偏移量頭文件:dos.h 函數(shù)40。fprintf()傳送輸出到一個(gè)流中的函數(shù)原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指針指向的文件輸出ASCⅡ代碼 ②向顯示器輸出錯(cuò)誤信息 使用形式: ①fprintf(文件指針,"輸出格式",輸出項(xiàng)系列); ②fprintf(stderr,"錯(cuò)誤信息");使用實(shí)例:fprintf(stream,"%d %c %f",i,c,f); 其中定義FILE *stream; int i; char c; float f;返回值:成功則返回輸出的字節(jié)數(shù),錯(cuò)誤則返回EOF。頭文件:stdio.h函數(shù)41。FP_SEG()獲取遠(yuǎn)地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和設(shè)置遠(yuǎn)指針*p段地址值返回值:段地址值頭文件:dos.hfree()釋放已分配內(nèi)存的函數(shù)原形:void free(void *block)功能:釋放由calloc、malloc、realloc函數(shù)調(diào)用所分配的內(nèi)存。頭文件:stdlib.h、alloc.h函數(shù)42。fscanf()格式化輸入函數(shù)原形:int fscanf(FILE *stream,const char *format[,address,...])功能:從一個(gè)流中掃描輸入字段,一次掃描一個(gè)字符,每個(gè)輸入字段根據(jù)format所指格式指示符格式化后,把輸入字段存在format后面由地址參數(shù)給出的位置上。使用格式:fscanf(文件指針,"輸入格式",輸入項(xiàng)系列);使用實(shí)例:fscanf(fp,"%d",b); 從fp指向的文件中讀取十進(jìn)制整數(shù) (ASCⅡ形式)賦予變量b注:當(dāng)文件指針是stdin時(shí),與scanf功能完全相同頭文件:stdio.h函數(shù)43。fseek()移動(dòng)文件指針函數(shù)原形:int fseek(FILE *stream,long offset,int whence)作用:強(qiáng)制一個(gè)文件的位置指針指向某個(gè)特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指針,偏移(長(zhǎng)整型),起點(diǎn)) 定義 FILE *文件指針名; "起點(diǎn)"取值: 0或SEEK_SET(表示文件開(kāi)頭) 1或SEEK_CUR(表示當(dāng)前位置) 2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失敗頭文件:stdio.h函數(shù)44。fwrite()把參數(shù)寫(xiě)入流中的函數(shù)原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n個(gè)數(shù)據(jù)項(xiàng)(每個(gè)數(shù)據(jù)項(xiàng)長(zhǎng)度為size個(gè)字節(jié))到指定的輸出文件后,數(shù)據(jù)從ptr處開(kāi)始添加。ptr是指向任意對(duì)象的指針。返回值:調(diào)用成功時(shí)返回實(shí)際寫(xiě)的數(shù)據(jù)項(xiàng)數(shù),出錯(cuò)時(shí)返回一短整形數(shù)值。頭文件:stdio.h例:fwrite(s,sizeof(s),1,stream); 其中s是一結(jié)構(gòu)變量,stream=fopen();函數(shù)45。gcvt()把雙精度數(shù)轉(zhuǎn)化成字符串的函數(shù)原形∶char*gcvt(value,ndigit,buf) 其中∶double value是待轉(zhuǎn)化數(shù) int ndigit是轉(zhuǎn)化長(zhǎng)度 char *buf保存轉(zhuǎn)化后的地址頭文件∶stdlib.h函數(shù)46。geninterrupt()執(zhí)行中斷函數(shù)原形:void geninterrupt(int n)調(diào)用方式:geninterrupt(軟中斷號(hào))功能:產(chǎn)生一個(gè)8086軟中斷注:需先向寄存器傳遞入口信息(用偽變量) 例如 偽變量=要賦的值(入口信息); 調(diào)用geninterrupt()函數(shù)后得接受出口信息 例如 變量名=偽變量偽變量∶Turbo C 允許使用偽變量直接訪(fǎng)問(wèn)相應(yīng)的8086寄存器。偽變量的類(lèi)型有兩種。 ① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI ② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH函數(shù)47。getc()從流中取字符的宏原形:int getc(FILE *stream)功能:返回輸入流stream中一個(gè)字符,移動(dòng)文件指針使之指向下一個(gè)字符。使用格式:字符變量=getc(文件指針) (正常情況下讀取到代碼值,讀到文件尾或出錯(cuò)時(shí)返回EOF)注:需定義 char 字符變量;FILE *文件指針;頭文件:stdio.h函數(shù)48。getch()從鍵盤(pán)無(wú)回顯地讀取一字符的函數(shù)功能:將鍵盤(pán)上輸入的單個(gè)字符的值(ASCⅡ 碼)立刻賦給字符型變量調(diào)用方式:字符形變量=getch()注:需先定義 char 字符形變量;頭文件:conio.h函數(shù)49。getchar()從stdin流中讀取一個(gè)字符的函數(shù)功能:將鍵盤(pán)上輸入的單個(gè)字符的值(ASCⅡ 碼)回車(chē)后賦給字符型變量調(diào)用方式:字符型變量=getchar()注:需先定義 char 字符型變量;頭文件:stdio.h函數(shù)50。getcurdir()讀取指定驅(qū)動(dòng)器的當(dāng)前目錄的函數(shù)原形:int getcurdir(int drive,char directory) drive=0(缺省);1(A驅(qū)動(dòng)器);... directory用來(lái)存放目錄名,不包括驅(qū)動(dòng)器名,不以反斜杠開(kāi)始。返回值:0(調(diào)用成功);1(出錯(cuò))頭文件:dir.h函數(shù)61。getcwd()讀取當(dāng)前目錄的函數(shù)原形:char *getcwd(char *buf,int buflen)功能:讀取當(dāng)前目錄的完整路徑名(包括驅(qū)動(dòng)器名),最長(zhǎng)為buflen個(gè)字節(jié),存放在buf中。如果buf為NULL,函數(shù)將分配一個(gè)buflen字節(jié)長(zhǎng)的緩沖區(qū),以后可將本函數(shù)的返回值作為free函數(shù)的參數(shù)來(lái)釋放該緩沖區(qū)。返回值:若buf非空,調(diào)用成功返回buf,出錯(cuò)返回NULL;若buf為NULL,返回指向已經(jīng)分配的內(nèi)存緩沖區(qū)地址。頭文件:dir.h函數(shù)62。getdate()讀取系統(tǒng)日期函數(shù)原形:void getdate(pdate) struct date { int da_year; int da_day; int da_mon; }; struct date *pdate;頭文件:dos.h函數(shù)63。getdfree()讀取磁盤(pán)空閑空間的函數(shù)原形:void getdfree(drive,dtable) unsigned char drive;驅(qū)動(dòng)器號(hào)(0-當(dāng)前;1-A;2-B;...) struct dfree { unsigned df_avail;//可使用的簇?cái)?shù) unsigned df_total;//每個(gè)驅(qū)動(dòng)器的簇?cái)?shù) unsigned df_bsec;//每個(gè)扇區(qū)的字節(jié)數(shù) unsigned df_sclus;//每個(gè)簇的扇區(qū)數(shù)(出錯(cuò)時(shí)返回0xffff) }*dtable;功能:把由drive指定的關(guān)于驅(qū)動(dòng)器的信息返回到dtable函數(shù)64。getdisk()讀取當(dāng)前磁盤(pán)驅(qū)動(dòng)器號(hào)函數(shù)原形:int getdisk(void)功能:取得當(dāng)前驅(qū)動(dòng)器號(hào)(0=A;1=B;....)頭文件:dir.h函數(shù)65。getenv()讀取環(huán)境變量的當(dāng)前值的函數(shù)原形:char *getenv(const char *name)用法:s=getenv("環(huán)境變量名"); 需先定義char *s;功能:返回一給定的環(huán)境變量值,環(huán)境變量名可大寫(xiě)或小寫(xiě)。如果指定的變量在環(huán)境中未定義,則返回一空串。 頭文件:stdlib.h函數(shù)66。getimage()將指定區(qū)域的位圖象存入內(nèi)存的函數(shù)原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:將圖像(矩形區(qū)域)從屏幕拷貝到內(nèi)存,*bitmap指向內(nèi)存中存放圖像的區(qū)域。該區(qū)域的前兩個(gè)字節(jié)用于存放矩形的高和寬。頭文件:graphics.h函數(shù)67。getmaxx()返回屏幕上最大的X坐標(biāo)值的函數(shù)原形:int far getmaxx(void)功能:返回當(dāng)前圖形驅(qū)動(dòng)程序和圖形模式下最大的X坐標(biāo)值。頭文件:graphics.h函數(shù)68。getmaxy()返回屏幕上最大的Y坐標(biāo)值的函數(shù)原形:int far getmaxy(void)功能:返回當(dāng)前圖形驅(qū)動(dòng)程序和圖形模式下最大的Y坐標(biāo)值。頭文件:graphics.h函數(shù)69。getpixel()讀取像素顏色的函數(shù)原形:unsigned far getpixel(int x,int y)頭文件:graphics.h函數(shù)70。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系統(tǒng)調(diào)用0x62,返回程序段前綴(PSP)的段地址頭文件∶dos.h函數(shù)71。gets()從標(biāo)準(zhǔn)輸入流stdio中讀取一字符串的函數(shù)功能:將鍵盤(pán)上輸入的字符串立刻賦予字符串變量并顯示出來(lái)調(diào)用方式:gets(字符串變量名)注:需定義 char *字符串變量名;函數(shù)72。gettime()讀取系統(tǒng)時(shí)間的函數(shù)原形:void gettime(ptime) struct time { unsigned char ti_min; unsigned char ti_hour; unsigned char ti_hund;//百分之一秒 unsigned char ti_sec; }; struct time *ptime;函數(shù)73。getvect()讀取中斷向量函數(shù)原形:void interrupt(*getvect(int interruptno))功能:讀入由interruptno(0-255之間)所指定的中斷向量值,并把該中斷向量值作為中斷函數(shù)的遠(yuǎn)指針?lè)祷?。返回值:指定中斷向量的?dāng)前4字節(jié)值。頭文件:dos.h使用實(shí)例:oldfunc=getvect(5); 先定義void interrupt(*oldfunc)(); 用后恢復(fù)setvect(5,oldfunc);函數(shù)74。getx()返回當(dāng)前圖形方式下位置的X坐標(biāo)值的函數(shù)原形:int far getx(void);頭文件:graphics.h函數(shù)75。gety()返回當(dāng)前圖形方式下位置的Y坐標(biāo)值的函數(shù)原形:int far gety(void);頭文件:graphics.h函數(shù)76。imagesize()返回保存圖像緩沖區(qū)大小的函數(shù)原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:確定保存圖像所需的存儲(chǔ)區(qū)大小。返回值:返回存儲(chǔ)區(qū)的大小(字節(jié)),若所需內(nèi)存大于等于64K-1字節(jié),則返回0xffff(-1)。頭文件:graphics.h函數(shù)77。initgraph()顯示模式控制函數(shù)(初始化圖形系統(tǒng)函數(shù))功能:把圖形適配器設(shè)置為一種圖形模式,將選擇的圖形驅(qū)動(dòng)程序(在BGI文件中)裝入到內(nèi)存。調(diào)用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是數(shù)值(0-10),也可是符號(hào)值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270)。 *mode參數(shù)從圖形系統(tǒng)為各種常用的圖形適配器設(shè)置的圖形模式中(CGAC0、...、IBM8514HI--見(jiàn)頭文件graphics.h)選取。常用的有:VGAMED或1

用C語(yǔ)言 調(diào)用 windows 內(nèi)核的函數(shù)

1、調(diào)用方法如下:

當(dāng)system接受的命令為NULL時(shí)直接返回,否則fork出一個(gè)子進(jìn)程,因?yàn)閒ork在兩個(gè)進(jìn)程:父進(jìn)程和子進(jìn)程中都返回,這里要檢查返回的pid,fork在子進(jìn)程中返回0,在父進(jìn)程中返回子進(jìn)程的pid,父進(jìn)程使用waitpid等待子進(jìn)程結(jié)束,子進(jìn)程則是調(diào)用execl來(lái)啟動(dòng)一個(gè)程序代替自己,execl("/bin/sh", "sh", "-c", cmdstring, (char*)0)是調(diào)用shell,這個(gè)shell的路徑是/bin/sh,后面的字符串都是參數(shù),然后子進(jìn)程就變成了一個(gè)shell進(jìn)程,這個(gè)shell的參數(shù)是cmdstring,就是system接受的參數(shù)。在windows中的shell是command。

2、fork的原理:當(dāng)一個(gè)進(jìn)程A調(diào)用fork時(shí),系統(tǒng)內(nèi)核創(chuàng)建一個(gè)新的進(jìn)程B,并將A的內(nèi)存映像復(fù)制到B的進(jìn)程空間中,因?yàn)锳和B是一樣的,那么他們?cè)趺粗雷约菏歉高M(jìn)程還是子進(jìn)程呢,看fork的返回值就知道,上面也說(shuō)了fork在子進(jìn)程中返回0,在父進(jìn)程中返回子進(jìn)程的pid。


網(wǎng)站題目:c語(yǔ)言?xún)?nèi)核函數(shù)手冊(cè) c語(yǔ)言調(diào)用linux內(nèi)核函數(shù)
轉(zhuǎn)載注明:http://weahome.cn/article/hpshch.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部