【正文】
main(void) { FILE *fp。 int word。 /* place the word in a file */ fp = fopen(FNAME, wb)。 if (fp == NULL) { printf(Error opening file %s\n, FNAME)。 exit(1)。 } word = 94。 putw(word,fp)。 if (ferror(fp)) printf(Error writing to file\n)。 else printf(Successful write\n)。 fclose(fp)。 /* reopen the file */ fp = fopen(FNAME, rb)。 if (fp == NULL) { printf(Error opening file %s\n, FNAME)。 exit(1)。 } /* extract the word */ word = getw(fp)。 if (ferror(fp)) printf(Error reading file\n)。 else printf(Successful read: word = %d\n, word)。 /* clean up */ fclose(fp)。 unlink(FNAME)。 return 0。 } C 語言庫函數(shù) (Q類字母 ) 函數(shù)名 : qsort 功 能 : 使用快速排序例程進行排序 用 法 : void qsort(void *base, int nelem, int width, int (*fcmp)())。 程序例 : include include include int sort_function( const void *a, const void *b)。 char list[5][4] = { cat, car, cab, cap, can }。 int main(void) { int x。 qsort((void *)list, 5, sizeof(list[0]), sort_function)。 for (x = 0。 x 5。 x++) printf(%s\n, list[x])。 return 0。 } int sort_function( const void *a, const void *b) { return( strcmp(a,b) )。 } C 語言庫函數(shù) (R類字母 ) 函數(shù)名 : raise 功 能 : 向正在執(zhí)行的程序發(fā)送一個信號 用 法 : int raise(int sig)。 程序例 : include int main(void) { int a, b。 a = 10。 b = 0。 if (b == 0) /* preempt divide by zero error */ raise(SIGFPE)。 a = a / b。 return 0。 } 函數(shù)名 : rand 功 能 : 隨機數(shù)發(fā)生器 用 法 : void rand(void)。 程序例 : include include int main(void) { int i。 printf(Ten random numbers from 0 to 99\n\n)。 for(i=0。 i10。 i++) printf(%d\n, rand() % 100)。 return 0。 } 函數(shù)名 : randbrd 功 能 : 隨機塊讀 用 法 : int randbrd(struct fcb *fcbptr, int rect)。 程序例 : include include include include int main(void) { char far *save_dta。 char line[80], buffer[256]。 struct fcb blk。 int i, result。 /* get user input file name for dta */ printf(Enter drive and file name (no path . a:)\n)。 gets(line)。 /* put file name in fcb */ if (!parsfnm(line, amp。blk, 1)) { printf(Error in call to parsfnm\n)。 exit(1)。 } printf(Drive %d File: %s\n\n, , )。 /* open file with DOS FCB open file */ bdosptr(0x0F, amp。blk, 0)。 /* save old dta, and set new one */ save_dta = getdta()。 setdta(buffer)。 /* set up info for the new dta */ = 128。 = 0L。 result = randbrd(amp。blk, 1)。 /* check results from randbrd */ if (!result) printf(Read OK\n\n)。 else { perror(Error during read)。 exit(1)。 } /* read in data from the new dta */ printf(The first 128 characters are:\n)。 for (i=0。 i128。 i++) putchar(buffer[i])。 /* restore previous dta */ setdta(save_dta)。 return 0。 } 函數(shù)名 : randbwr 功 能 : 隨機塊寫 用 法 : int randbwr(struct fcp *fcbptr, int rect)。 程序例 : include include include include int main(void) { char far *save_dta。 char line[80]。 char buffer[256] = RANDBWR test!。 struct fcb blk。 int result。 /* get new file name from user */ printf(Enter a file name to create (no path ie. a:\n)。 gets(line)。 /* parse the new file name to the dta */ parsfnm(line,amp。blk,1)。 printf(Drive %d File: %s\n, , )。 /* request DOS services to create file */ if (bdosptr(0x16, amp。blk, 0) == 1) { perror(Error creating file)。 exit(1)。 } /* save old dta and set new dta */ save_dta = getdta()。 setdta(buffer)。 /* write new records */ = 256。 = 0L。 result = randbwr(amp。blk, 1)。 if (!result) printf(Write OK\n)。 else { perror(Disk error)。 exit(1)。 } /* request DOS services to close the file */ if (bdosptr(0x10, amp。blk, 0) == 1) { perror(Error closing file)。 exit(1)。 } /* reset the old dta */ setdta(save_dta)。 return 0。 } 函數(shù)名 : random 功 能 : 隨機數(shù)發(fā)生器 用 法 : int random(int num)。 程序例 : include include include /* prints a random number in the range 0 to 99 */ int main(void) { randomize()。 printf(Random number in the 099 range: %d\n, random (100))。 return 0。 } 函數(shù)名 : randomize 功 能 : 初始化隨機數(shù)發(fā)生器 用 法 : void randomize(void)。 程序例 : include include include int main(void) { int i。 randomize()。 printf(Ten random numbers from 0 to 99\n\n)。 for(i=0。 i10。 i++) printf(%d\n, rand() % 100)。 return 0。 } 函數(shù)名 : read 功 能 : 從文件中讀 用 法 : int read(int handle, void *buf, int nbyte)。 程序例 : include include include include include include sys\ int main(void) { void *buf。 int handle, bytes。 buf = malloc(10)。 /* Looks for a file in the current directory named TEST.$$$ and attempts to read 10 bytes from it. To use this example you should create the