天天看點

【轉帖】C語言的常用庫函數使用方法分析及用途

  absread()讀磁盤絕對扇區函數

  原形:int absread(int drive,int num,int sectnum,void *buf)

  功能:從drive指定的驅動器磁盤上,sectnum指定的邏輯扇區号開始讀取(通過DOS中斷0x25讀取)num個(最多64K個)扇區的内容,儲存于buf所指的緩沖區中。

  參數:drive=0對應A盤,drive=1對應B盤。

  傳回值:0:成功;-1:失敗。

  頭檔案:dos.h

  abswrite()寫磁盤絕對扇區函數

  原形:int abswrite(int drive,int nsects,int lsect,void *buffer)

  drive=0(A驅動器)、1(B驅動器)、

  nsects=要寫的扇區數(最多64K個);

  lsect=起始邏輯扇區号;

  buffer=要寫入資料的記憶體起始位址。

  功能:将指定内容寫入(調用DOS中斷0x26)磁盤上的指定扇區,即使寫入的地方是磁盤的邏輯結構、檔案、FAT表和目錄結構所在的扇區,也照常進行。

  傳回值:0:成功;-1:失敗。

  頭檔案:dos.h

  atof()将字元串轉換成浮點數的函數

  原形:double atof(const char *s)

  功能:把s所指向的字元串轉換成double類型。

  s格式為:符号 數字.數字 E符号 數字

  傳回值:字元串的轉換值。

  頭檔案:math.h、stdlib.h

  atoi()将字元串轉換成整型數的函數

  原形:int atoi(const char *s)

  功能:把s所指向的字元串轉換成int類型。

  s格式為:符号 數字

  傳回值:字元串的轉換值。若出錯則傳回0。

  頭檔案:stdlib.h

  atol()将字元串轉換成長整型數的函數

  原形:long atol(const char *s)

  功能:把s所指向的字元串轉換成long int類型。

  s格式為:符号 數字

  傳回值:字元串的轉換值。若出錯則傳回0。

  頭檔案:stdlib.h

  bcd()把一個數轉換成對應的BCD碼的函數

  原形:bcd bcd(int x)

  bcd bcd(double x)

  bcd bcd(double x,int decimals)

  注意:BCD碼的精度可達17位。參數decimals是可選的,用來指定轉換後小數點後的位數。

  頭檔案:bcd.h

  bdos()

  原形∶int bdos(int fnum,unsigned dx,unsigned al)

  其中fnum是系統調用号;dx是傳給寄存器DX的值;al是傳給寄存器AL的值;

  功能∶DOS系統調用(INT21H)

  傳回值∶AX中的值

  biosdisk()調用BIOS磁盤驅動程式函數

  原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)

  功能:使用中斷0x13,直接調用BIOS進行磁盤操作

  參數:(1)cmd:

  2-資料以每扇區512位元組的格式讀入buffer,起始扇區由head、track和sector定,扇區數由nsects定。

  3-将buffer中的資料按每扇區512位元組寫入磁盤。

  4-對扇區進行資料校驗。

  6-格式化一個磁盤并對化扇區設定化标志。

  8-傳回目前驅動器參數在buffer的前4個位元組中。

  10-長讀,每扇區讀入512位元組加上額外的4個位元組。

  11-長寫,每扇區寫入512位元組加上額外的4個位元組。

  (2)drive:0-第一個軟驅;1-第二個軟驅;0x80-第一個硬驅

  (3)head:磁頭

  (4)track:磁道

  (5)sector:扇區

  (6)nsects:扇區數

  (7)buffer:資料緩沖區,定義為unsigned char buffer[];

  傳回值:0x00-操作成功

  0x01-錯誤指令

  0x03-企圖寫具有寫保護的磁盤

  0x07-驅動器參數設定錯誤

  0x10-磁盤讀/CRC/ECC錯誤

  頭檔案:bios.h

  注:對于硬碟主引導記錄扇區head=0,track=0,sector=1

  outport()輸出一個字到端口中的函數

  原形:void outport(int portid,int value)

  調用方式:outport(0x端口号,要輸出的字);

  功能:往指定端口位址輸出一個字。

  頭檔案:dos.h

  outportb()輸出一個位元組到端口中的函數

  原形:void outportb(int portid,unsigned char value)

  調用方式:outportb(0x端口号,要輸出的位元組);

  功能:往指定端口位址輸出一個位元組。

  附:PC I/O位址配置設定

  PC隻用了10位位址線(A0-A9)進行譯碼,其尋址的範圍為0H-3FFH,共有1024個I/O位址。這1024個位址中前半段(A9=0,範圍為0H-1FFH)是屬于主機闆I/O譯碼,後半段(A9=1,範圍為200H-3FFH)則是用來擴充插槽上的I/O譯碼用。

  I/O端口功能表

  ———————————————————————————

  I/O位址 功能、用途

  ———————————————————————————

  0    DMA通道0,記憶體位址寄存器(DMA控制器1(8237))

  1    DMA通道0, 傳輸計數寄存器

  2    DMA通道1,記憶體位址寄存器

  3    DMA通道1, 傳輸計數寄存器

  4    DMA通道2,記憶體位址寄存器

  5    DMA通道2, 傳輸計數寄存器

  6    DMA通道3,記憶體位址寄存器

  7    DMA通道3, 傳輸計數寄存器

  8    DMA通道0-3的狀态寄存器

  AH    DMA通道0-3的屏蔽寄存器

  BH    DMA通道0-3的方式寄存器

  CH    DMA清除位元組指針

  DH    DMA主清除位元組

  EH    DMA通道0-3的清屏蔽寄存器

  FH    DMA通道0-3的寫屏蔽寄存器

  19H   DMA起始寄存器

  20H-3FH 可程式設計中斷控制器1(8259)使用

  40H   可程式設計中斷計時器(8253)使用,讀/寫計數器0

  41H   可程式設計中斷計時器寄存器

  42H   可程式設計中斷計時器雜項寄存器

  43H   可程式設計中斷計時器,控制字寄存器

  44H   可程式設計中斷計時器,雜項寄存器(AT)

  47H   可程式設計中斷計時器,計數器0的控制字寄存器

  48H-5FH 可程式設計中斷計時器使用

  60H-61H 鍵盤輸入資料緩沖區

  61H   AT:8042鍵盤控制寄存器/XT:8255輸出寄存器

  62H   8255輸入寄存器

  63H   8255指令方式寄存器

  64H   8042鍵盤輸入緩沖區/8042狀态

  65H-6FH 8255/8042專用

  70H   CMOS RAM位址寄存器

  71H   CMOS RAM資料寄存器

  80H   生産測試端口

  81H   DMA通道2,頁表位址寄存器

  82H   DMA通道3,頁表位址寄存器

  83H   DMA通道1,頁表位址寄存器

  87H   DMA通道0,頁表位址寄存器

  89H   DMA通道6,頁表位址寄存器

  8AH   DMA通道7,頁表位址寄存器

  8BH   DMA通道5,頁表位址寄存器

  8FH   DMA通道4,頁表位址寄存器

  93H-9FH DMA控制器專用

  A0H   NM1屏蔽寄存器/可程式設計中斷控制器2

  A1H   可程式設計中斷控制器2屏蔽

  C0H   DMA通道0,記憶體位址寄存器(DMA控制器2(8237))

  C2H   DMA通道0, 傳輸計數寄存器

  C4H   DMA通道1,記憶體位址寄存器

  C6H   DMA通道1, 傳輸計數寄存器

  C8H   DMA通道2,記憶體位址寄存器

  CAH   DMA通道2, 傳輸計數寄存器

  CCH   DMA通道3,記憶體位址寄存器

  CEH   DMA通道3, 傳輸計數寄存器

  D0H   DMA狀态寄存器

  D2H   DMA寫請求寄存器

  D4H   DMA屏蔽寄存器

  D6H   DMA方式寄存器

  D8H   DMA清除位元組指針

  DAH   DMA主清

  DCH   DMA清屏蔽寄存器

  DEH   DMA寫屏蔽寄存器

  DFH-EFH 保留

  F0H-FFH 協處理器使用

  100H-16FH保留

  170H   1号硬碟資料寄存器

  171H   1号硬碟錯誤寄存器

  172H   1号硬碟資料扇區計數

  173H   1号硬碟扇區數

  174H   1号硬碟柱面(低位元組)

  175H   1号硬碟柱面(高位元組)

  176H   1号硬碟驅動器/磁頭寄存器

  177H   1号硬碟狀态寄存器

  1F0H   0号硬碟資料寄存器

  1F1H   0号硬碟錯誤寄存器

  1F2H   0号硬碟資料扇區計數

  1F3H   0号硬碟扇區數

  1F4H   0号硬碟柱面(低位元組)

  1F5H   0号硬碟柱面(高位元組)

  1F6H   0号硬碟驅動器/磁頭寄存器

  1F7H   0号硬碟狀态寄存器

  1F9H-1FFH保留

  200H-20FH遊戲控制端口

  210H-21FH擴充單元

  278H   3号并行口,資料端口

  279H   3号并行口,狀态端口

  27AH   3号并行口,控制端口

  2B0H-2DFH保留

  2E0H   EGA/VGA使用

  2E1H   GPIP(0号擴充卡)

  2E2H   資料擷取(0号擴充卡)

  2E3H   資料擷取(1号擴充卡)

  2E4H-2F7H保留

  2F8H   2号串行口,發送/保持寄存器(RS232接口卡2)

  2F9H   2号串行口,中斷有效寄存器

  2FAH   2号串行口,中斷ID寄存器

  2FBH   2号串行口,線控制寄存器

  2FCH   2号串行口,調制解調控制寄存器

  2FDH   2号串行口,線狀态寄存器

  2FEH   2号串行口,調制解調狀态寄存器

  2FFH   保留

  300H-31FH原形卡

  320H   硬碟擴充卡寄存器

  322H   硬碟擴充卡控制/狀态寄存器

  324H   硬碟擴充卡提示/中斷狀态寄存器

  325H-347H保留

  348H-357H DCA3278

  366H-36FH PC網絡

  372H    軟碟擴充卡資料輸出/狀态寄存器

  375H-376H 軟碟擴充卡資料寄存器

  377H    軟碟擴充卡資料輸入寄存器

  378H    2号并行口,資料端口

  379H    2号并行口,狀态端口

  37AH    2号并行口,控制端口

  380H-38FH SDLC及BSC通訊

  390H-393H Cluster擴充卡0

  3A0H-3AFH BSC通訊

  3B0H-3B H MDA視訊寄存器

  3BCH    1号并行口,資料端口

  3BDH    1号并行口,狀态端口

  3BEH    1号并行口,控制端口

  3C0H-3CFH EGA/VGA視訊寄存器

  3D0H-3D7H CGA視訊寄存器

  3F0H-3F7H 軟碟控制器寄存器

  3F8H    1号串行口,發送/保持寄存器(RS232接口卡1)

  3F9H    1号串行口,中斷有效寄存器

  3FAH    1号串行口,中斷ID寄存器

  3FBH    1号串行口,線控制寄存器

  3FCH    1号串行口,調制解調控制寄存器

  3FDH    1号串行口,線狀态寄存器

  3FEH    1号串行口,調制解調狀态寄存器

  3FFH    保留

  —————————————————————————-

  outtextxy()在指定位置顯示一字元串的函數

  原形:void far outtextxy(int x,int y,char far *textstring)

  功能:按照目前對齊方式和目前字型、方向、大小在視區中給定位置顯示一文本字元串。

  注意:用textwidth和textheight函數決定字元串的尺寸大小。

  頭檔案:graphics.h

  peek()傳回指定記憶體中字的函數

  原形:int peek(int seg,unsigned offset)

  功能:傳回位址為seg:offset的字單元的值

  頭檔案:dos.h

  peekb()傳回指定記憶體中位元組的函數

  原形:char peekb(int seg,unsigned offset)

  功能:傳回位址為seg:offset的位元組單元的值

  poke()在指定的記憶體中存儲一個字的函數

  原形:void poke(int seg,unsigned offset,int word)

  功能:把word的16位值放到位址為seg:offset的字單元中

  pokeb()在指定的記憶體中存儲一個位元組的函數

  原形:void pokeb(int seg,unsigned offset,int byte)

  功能:把byte的8位值放到位址為seg:offset的位元組單元中

  pow()

  原形∶double pow(double b,double exp)

  功能∶求以b為底的exp次幂的值

  頭檔案∶math.h

  printf()寫格式化輸出到stdout的函數

  使用方式:例

  ①printf("%f",實型變量);

  ②printf("%f",(*函數指針名)(參數));

  ③printf("%c",字元變量);

  ④printf("%c",*字元串變量名即字元串位址);

  隻顯示字元串的第一個字元。

  ⑤printf("%s",字元串數組名即字元串數組位址);

  ⑥printf("%-10s",字元串變量名);

  顯示字元串時限定十位(不足則補空格),并靠左端對齊。

  ⑦printf("%s",*二級指針變量);

  ⑧printf("字元串%05d/n",整型變量);

  先顯示字元串,然後顯示整型變量的值(限五位,不足則補零),最後換行。

  注:

  1.① 需先定義 float 實型變量;

  ② 需先定義 float (*函數指針名)(); 并有相應的函數

  ③ 需先定義 char 字元變量='單個字元';

  ④⑥需先定義 char *字元串變量名; 并指派

  ⑤ 需先定義 char 字元串數組名[]="字元串";

  ⑦ 需先定義 char **二級指針變量

  2.其它轉換字元(在%後)有

  ① o 整型數以無符号的八進制形式輸出

  ② x 整型數和僞變量以無符号的十六進制形式輸出

  ③ u 整型數以無符号的十進制形式輸出

  ④ e 浮點數或雙精度浮點數以指數形式輸出

  ⑤ g 選用e或f格式中輸出位數較短的形式

  ⑥ p 以無符号的十六進制形式輸出變量的位址。若要輸出函數的位址,遠指針用Fp;近指針用Np。

  putch()向螢幕輸出字元的函數

  使用方式:

  ① putch('轉義字元');

  ② putch('單個字元');

  ③ putch(字元變量);

  注:③需先定義 char 字元變量='單個字元';

  頭檔案:conio.h

  putchar()在stdout上輸出字元的宏

  原形:int putchar(int c)

  傳回值:成功傳回字元c,失敗傳回EOF。

  頭檔案:stdio.h

  putenv()将字元串放入目前環境中的函數

  原形:int putenv(const char *name)

  用法例:putenv("PATH=C:/B/TC");

  功能:把字元串name加到目前程式運作的環境中。當程式結束後,原環境将得到恢複。

  傳回值:0(成功);-1(失敗)

  頭檔案:stdlib.h

  putimage()重新寫屏函數(輸出一個位圖象到圖形螢幕上的函數)

  功能:将用getimage()函數儲存在buf 所指向的記憶體區域的圖形輸出到螢幕上。

  原形:

  void far putimage(int left,int top,void far *buf,int op)

  其中op的值決定了圖形以何種方式寫到螢幕上。

  COPY_PUT 或0 原樣複制

  XOR_PUT 或1 與螢幕圖形取“異或”後寫入

  OR_PUT 或2 與螢幕圖形取“或”後寫入

  AND_PUT 或3 與螢幕圖形取“與”後寫入

  NOT_PUT 或4 複制原圖形的“逆”

  使用不同的方式将圖形寫到螢幕上,可以實作圖形變換。例如,采用異或方式在原始位置重寫,那麼,原圖将消失。 如果再使用複制方式(COPY_PUT)在一個新的地方重制該圖形,就産生了圖形的移動。

  頭檔案:graphics.h

  putpixel()寫像素點函數

  原形:void far putpixel(int x,int y,int color)

  頭檔案:graphics.h

  puts()輸出一字元串到stdout(标準輸出)的函數

  使用方式:

  ① puts("字元串");

  ② puts(字元串變量名即字元串變量的位址)

  注:②需先定義 char *字元串變量名="字元串";

  頭檔案:stdio.h

  _read()讀檔案函數

  原形:int _read(handle,buffer,count)

  int handle;//檔案句柄

  void *buffer;//存放讀出資料的緩沖區

  unsigned count;//一次讀出的位元組數

  功能:從由handle指定的檔案中讀取由count指定位元組數的資料到buffer

  傳回值:0-0xfffe(實際讀出的位元組數);-1(錯誤)

  頭檔案:io.h

  read()讀檔案函數

  原形:int read(int handle,void *buf,unsigned len)

  功能:從與handle(從creat、open、dup或dup2調用中得到的句柄)相聯的檔案中讀取len位元組到由buf所指的緩沖區中。對于以文本方式打開的檔案,read删除讀入資料中的回車符。當讀到Ctrl-Z字元時傳回檔案結束。對于磁盤檔案,read從目前檔案指針處開始讀取資料。在讀操作完成後,檔案指針增量為讀入的位元組數。對于裝置,直接從裝置中讀位元組。

  傳回值:讀入緩沖區的位元組數,如果檔案以文本方式打開,則不包括回車符和Ctrl-Z字元。

  頭檔案:io.h

  realloc()重新配置設定記憶體函數

  原形:void *realloc(void *block,size_t size)

  block指向用malloc、calloc或realloc已得到的記憶體。

  size是重新配置設定的位元組。

  傳回值:重配置設定的塊位址。若不能重配置設定,則傳回NULL。

  頭檔案:stdlib.h

  rectangle()畫一個矩形的函數

  原形:void far rectangle(int left,int top,int right,int bottom)

  功能:用目前線性、寬度和畫線顔色繪制一個矩形。

  頭檔案:graphics.h

  remove()删除一個檔案的函數

  原形:int remove(const char *filename)

  傳回值:0(成功);-1(失敗)

  頭檔案:stdio.h

  rename()檔案改名函數

  原形:int rename(const char *oldname,const char *newname)

  注意:如果newname中包含了一個驅動器訓示符,它必須與oldname中給出的訓示符相同。oldname和newname中的目錄可以不同,是以rename函數把檔案從一個目錄移到另一個目錄。不允許使用通配符。

  傳回值:0(成功);-1(失敗)

  restorecrtmode()恢複螢幕視訊模式為調用initgraph前的設定的函數

  原形:void far restorecrtmode(void)

  頭檔案:graphics.h

  rmdir()删除目錄函數

  原形:int rmdir(const char *path)

  注意:删除的目錄不能是目前目錄,不是根目錄,是空目錄

  傳回值:0(成功);-1(操作出錯)

  頭檔案:dir.h

  _rotl()将一個無符号整形數左循環移位的函數

  原形:unsigned _rotl(unsigned value,int count)

  功能:将value向左循環移動count位。

  傳回值:将value向左循環移動count位後的值。

  頭檔案:stdlib.h

  _rotr()将一個無符号整形數右循環移位的函數

  原形:unsigned _rotr(unsigned value,int count)

  功能:将value向右循環移動count位。

  傳回值:将value向右循環移動count位後的值。

  頭檔案:stdlib.h

  scanf()格式化輸入函數

  使用格式:scanf("輸入格式",輸入項系列)

  ① scanf("%f",&實型變量)

  ② scanf("%c",&字元變量)

  ③ scanf("%s",字元串變量)

  ④ scanf("%d",&整型變量)

  注:需先定義以上各種變量如 char *字元串變量;

  searchpath()按dos路徑查找一個檔案的函數

  原形:char *searchpath(const char *file)

  用法:p=searchpath("檔案名"); 先定義char *p;

  功能:搜尋dos路徑(環境變量中的path=....)來定位由file給出的檔案。

  傳回值:指向完整路徑名字元串的指針。定位失敗傳回NULL。

  頭檔案:dir.h

  segread()讀段寄存器函數

  原形:void segread(struct SREGS *segp)

  作用:把目前寄存器的值儲存到SREGS型機構變量segp中。

  segs.cs=代碼段寄存器的值;

  segs.ds=資料段寄存器的值;

  segs.es=附加段寄存器的值;

  segs.ss=堆棧段寄存器的值;

  setactivepage()設定圖形輸出活動頁的函數

  原形:void far setactivepage(int page)

  功能:使page成為目前活動的圖形頁,其後所有的圖形輸出操作都在page圖形頁進行。活動圖形頁可以不是在螢幕上看到的頁。

  頭檔案:graphics.h

  setcolor()設定目前要畫的線顔色的函數

  原形:void far setcolor(int color)

  頭檔案:graphics.h

  注意:顔色值(EGA/VGA)

  0-BLACK;   1-BLUE;    2-GREEN;

  3-CYAN;    4-RED;    5-MAGENTA;

  6-BROWN;   7-LIGHTGRAY; 8-DARKGRAY;

  9-LIGHTBLUE; 10-LIGHTGREEN;11-LIGHTCYAN;

  12-LIGHTRED; 13-LIGHTMAGENTA;

  14-YELLOW;  15-WHITE

  setdisk()設定目前驅動器的函數

  原形:int setdisk(int drive)

  功能:把由drive指定的驅動器修改成目前驅動器,傳回可使用的驅動器數。

  頭檔案:dir.h

  setgraphmode()将系統設定成圖形模式并清屏的函數

  原形:void far setgraphmode(int mode)

  功能:選擇一個不同于調用initgraph()函數時所設定的預設的圖形模式。

  傳回值:如果給了一個對目前驅動程式來說無效的模式,則傳回-10。

  頭檔案:graphics.h

  setlinestyle()設定目前畫線寬度和類型的函數

  原形:

  void far setlinestyle(int linestyle,unsigned upattern,int thickness)

  其中:linestyle=0為實線;1為點線;2為中心線;3為破折線;4為使用者定義。

  thickness=1為一個像素寬;3為三個像素寬。

  隻有當linestyle=4時,upattern才起作用。

  頭檔案:graphics.h

  settextstyle()顯示字元的目前設定函數

  功能:設定目前輸出英文字元的字型、大小和方向。

  調用方式:

  void far settextstyle(int font,int direction,int charsize)

  其中①參數font确定所標明的字型形狀,

  DEFAULT_FONT 或0 是8×8位圖字型

  TRIPLEX_FONT 或1 是三重矢量字型

  SMALL_FONT 或2 是小号矢量字型

  SANS_SERIF_FONT或3 是無襯線矢量字型

  GOTHIC_FONT 或4 是哥特矢量字型

  ②參數durection字元的顯示方向,

  HORIZ_DIR 或0 是水準方向

  VERT_DIR 或1 是垂直方向

  ③參數charsize表示字元放大的倍數,其值為0到10。

  setvect()設定中斷向量函數

  setvect(int 中斷号,void interrupt(*中斷函數名))

  功能:把中斷服務程式的位址裝入中斷向量表中。

  調用方法:setvect(中斷号,中斷函數名即位址);

  (1)得預先定義要代替原函數的新函數

  void interrupt 中斷函數名(void)

  {......}

  (2)得先保留原中斷函數位址

  void interrupt (*保留函數名)(void);

  保留函數名=getvect(中斷号);

  (3)事後得将原中斷函數位址裝回向量表中

  setvect(中斷号,保留函數名);

  setviewport()建立視口的函數

  原形: void far setviewport(int left,int top,int right,int bottom,int clip)

  功能:用左上角坐标left,top和右下角坐标right,bottom建立一個視口,如果clip為1,則超出視口的輸出自動被剪裁掉;如果clip為0,則不被剪裁。

  例:setviewport(0,0,100,100,1)建立對角線為0,0和100,100的視口,并帶有剪裁功能。

  注:要清除目前視口,用函數clearnviewport()。

  setvisualpage()設定可見的圖形頁号的函數

  原形:void far setvisualpage(int page)

  功能:使得page成為可見的圖形頁。

  頭檔案:graphics.h

  sin()

  原形∶double sin(double arg)

  功能∶計算arg(弧度)的正弦值

  頭檔案∶math.h

  sprintf()格式化輸出到數組的函數

  原形∶int sprintf(buf,format,arg_list)

  其中char *buf;

  功能∶把arg_list參量的值按format的格式輸出到buf中。

  例∶sprintf(buffer,"相對扇區号∶%s(其中∶柱面号為%d/磁頭号為%d/扇區号為%d)",string,cyls,head,sector);

  其中char buffer[100];

  char *string="  ";

  int cyls,head,sector;

  傳回值∶實際寫入數組的字元個數。

  頭檔案∶stdio.h

  strcat()

  原形∶char *strcat(str1,str2)

  功能∶把str2所指的字元串連接配接到str1所指的字元串後。

  傳回值∶指向str1的指針。

  tan()

  原形∶double tan(double arg)

  功能∶計算arg(弧度)的正切值

  頭檔案∶math.h

  _write()寫檔案函數

  原形:int _write(handle,buffer,count)

  int handle;//檔案的句柄

  void *buffer;//存放資料的緩沖區

  unsigned count;//寫入的位元組數

  功能:從由buffer指定的緩沖區寫入由count指定位元組數的資料到由handle指定的檔案。傳回實際寫入的位元組數。

  傳回值:0-0xfffe(實際寫入的位元組數);-1(錯誤)

  頭檔案:io.h

  write()寫檔案函數

  原形:int write(int handle,char *buf,unsigned len)

  用法:write(檔案句柄,緩沖區位址,緩沖區位元組長度<最大65534>);

  功能:将緩沖區的資料寫入與handle相聯的檔案或裝置中,handle是從creat、open、dup或dup2調用中得到的檔案句柄。對于磁盤或磁盤檔案,寫操作從目前檔案指針處開始,對于用O_APPEND選項打開的檔案,寫資料之前,檔案指針指向EOF;對于裝置,位元組被直接傳送到裝置中;

  傳回值:實際寫入的位元組數(不包括回車符),出錯時傳回-1。

  頭檔案:io.h