O类字母
函数名: open 功 能:
打开一个文件用于读或写 用 法: int open(char *pathname,
int access[, int permiss]); 程序例: #include
#include
#include
#include
int main(void) { int
handle; char msg[] = "Hello
world";
if ((handle =
open("TEST.$$$", O_CREAT | O_TEXT)) == -1) { perror("Error:"); return 1; } write(handle, msg,
strlen(msg)); close(handle); return
0; }
函数名: outport 功 能:
输出整数到硬件端口中 用 法: void outport(int port, int
value); 程序例:
#include
#include
int main(void) { int value =
64; int port =
0;
outportb(port,
value); printf("Value %d sent to port
number %d\n", value, port); return
0; }
函数名: outportb 功 能:
输出字节到硬件端口中 用 法: void outportb(int port,
char byte); 程序例:
#include
#include
int main(void) { int value =
64; int port =
0;
outportb(port,
value); printf("Value %d sent to port
number %d\n", value, port); return
0; }
函数名: outtext 功 能:
在视区显示一个字符串 用 法: void far outtext(char far
*textstring); 程序例:
#include
#include
#include
#include
int main(void) { int gdriver = DETECT, gmode,
errorcode; int midx,
midy;
initgraph(&gdriver, &gmode,
"");
errorcode =
graphresult(); if (errorcode !=
grOk) { printf("Graphics error: %s\n",
grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); }
midx = getmaxx() /
2; midy = getmaxy() /
2;
moveto(midx,
midy);
outtext("This
"); outtext("is
"); outtext("a
"); outtext("test.");
getch(); closegraph(); return
0; }
函数名: outtextxy 功 能:
在指定位置显示一字符串 用 法: void far outtextxy(int x,
int y, char *textstring); 程序例:
#include
#include
#include
#include
int main(void) { int gdriver = DETECT, gmode,
errorcode; int midx,
midy;
initgraph(
&gdriver, &gmode,
"");
errorcode =
graphresult(); if (errorcode !=
grOk) { printf("Graphics error: %s\n",
grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); }
midx = getmaxx() /
2; midy = getmaxy() /
2;
outtextxy(midx, midy, "This is
a test.");
getch(); closegraph(); return
0; }
P类字母
函数名: parsfnm 功 能:
分析文件名 用 法: char *parsfnm (char
*cmdline, struct fcb *fcbptr, int option); 程序例:
#include
#include
#include
#include
int main(void) { char
line[80]; struct fcb
blk;
printf("Enter drive and file
name (no path - ie. a:file.dat)\n"); gets(line);
if (parsfnm(line,
&blk, 1) == NULL) printf("Error in parsfm call\n"); else printf("Drive #%d Name: s\n",
blk.fcb_drive, blk.fcb_name);
return
0; }
函数名: peek 功 能:
检查存储单元 用 法: int peek(int segment,
unsigned offset); 程序例:
#include
#include
#include
int main(void) { int value =
0;
printf("The current status
of your keyboard is:\n"); value = peek(0x0040,
0x0017); if (value &
1) printf("Right shift on\n"); else printf("Right shift off\n");
if (value &
2) printf("Left shift on\n"); else printf("Left shift off\n");
if (value &
4) printf("Control key on\n"); else printf("Control key off\n");
if (value &
8) printf("Alt key on\n"); else printf("Alt key off\n");
if (value &
16) printf("Scroll lock on\n"); else printf("Scroll lock off\n");
if (value &
32) printf("Num lock on\n"); else printf("Num lock off\n");
if (value &
64) printf("Caps lock on\n"); else printf("Caps lock off\n");
return
0; }
函数名: peekb 功 能:
检查存储单元 用 法: char peekb (int segment,
unsigned offset); 程序例:
#include
#include
#include
int main(void) { int value =
0;
printf("The current status
of your keyboard is:\n"); value = peekb(0x0040,
0x0017); if (value &
1) printf("Right shift on\n"); else printf("Right shift off\n");
if (value &
2) printf("Left shift on\n"); else printf("Left shift off\n");
if (value &
4) printf("Control key on\n"); else printf("Control key off\n");
if (value &
8) printf("Alt key on\n"); else printf("Alt key off\n");
if (value &
16) printf("Scroll lock on\n"); else printf("Scroll lock off\n");
if (value &
32) printf("Num lock on\n"); else printf("Num lock off\n");
if (value &
64) printf("Caps lock on\n"); else printf("Caps lock off\n");
return
0; }
函数名: perror 功 能:
系统错误信息 用 法: void perror(char
*string); 程序例:
#include
int main(void) { FILE
*fp;
fp = fopen("perror.dat",
"r"); if
(!fp) perror("Unable to open file for reading"); return
0; }
函数名: pieslice 功 能:
绘制并填充一个扇形 用 法: void far pieslice(int x,
int stanle, int endangle, int radius); 程序例:
#include
#include
#include
#include
int main(void) { int gdriver = DETECT, gmode,
errorcode; int midx,
midy; int stangle = 45, endangle =
135, radius = 100;
initgraph(&gdriver, &gmode,
"");
errorcode =
graphresult(); if (errorcode !=
grOk) { printf("Graphics error: %s\n",
grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); }
midx = getmaxx() /
2; midy = getmaxy() /
2;
setfillstyle(EMPTY_FILL,
getmaxcolor()); pieslice(midx, midy, stangle,
endangle, radius);
getch(); closegraph(); return
0; }
函数名: poke 功 能:
存值到一个给定存储单元 用 法: void poke(int segment, int
offset, int value); 程序例:
#include
#include
int main(void) { clrscr(); cprintf("Make sure the scroll
lock key is off and press any key\r\n"); getch(); poke(0x0000,0x0417,16); cprintf("The scroll lock is
now on\r\n"); return
0; }
函数名: pokeb 功 能:
存值到一个给定存储单元 用 法: void pokeb(int segment,
int offset, char value); 程序例:
#include
#include
int main(void) { clrscr(); cprintf("Make sure the scroll
lock key is off and press any key\r\n"); getch(); pokeb(0x0000,0x0417,16); cprintf("The scroll lock is
now on\r\n"); return
0; }
函数名: poly 功 能:
根据参数产生一个多项式 用 法: double poly(double x, int
n, double c[]); 程序例:
#include
#include
int main(void) { double array[] = { -1.0, 5.0,
-2.0, 1.0 }; double
result;
result = poly(2.0, 3,
array); printf("The polynomial: x**3 -
2.0x**2 + 5x - 1 at 2.0 is %lf\n", result); return
0; }
函数名: pow 功 能:
指数函数(x的y次方) 用 法: double pow(double x,
double y); 程序例:
#include
#include
int main(void) { double x = 2.0, y =
3.0;
printf("%lf raised to %lf
is %lf\n", x, y, pow(x, y)); return
0; }
函数名: pow10 功 能:
指数函数(10的p次方) 用 法: double pow10(int
p); 程序例:
#include
#include
int main(void) { double p =
3.0;
printf("Ten raised to %lf
is %lf\n", p, pow10(p)); return
0; }
函数名: printf 功 能:
产生格式化输出的函数 用 法: int printf(char
*format...); 程序例:
#include
#include
#define I 555 #define R 5.5
int main(void) { int
i,j,k,l; char
buf[7]; char *prefix =
buf; char
tp[20]; printf("prefix 6d 6o 8x 10.2e " "10.2f\n"); strcpy(prefix,"%"); for (i = 0; i <
2; i++) { for (j = 0; j < 2; j++) for (k = 0; k < 2; k++) for (l = 0; l < 2; l++) { if (i==0) strcat(prefix,"-"); if (j==0) strcat(prefix,"+"); if (k==0) strcat(prefix,"#"); if (l==0) strcat(prefix,"0"); printf("%5s |",prefix); strcpy(tp,prefix); strcat(tp,"6d |"); printf(tp,I); strcpy(tp,"");