首页 > 代码库 > P.xml

P.xml

<style type="text/css"> pre{ border-style:solid;border-width:1px;border-color:#000;line-height:1; color:#d1653c; background-color:#1e1e1e; font-size:16px;}.sysFunc{color:#2d8000;font-style:italic;font-weight:bold;} .selfFuc{color:#f3e191;} .bool{color:#f6ac77;} .condition{color:#008080;font-weight:bold;} .key{color:#c1018f;} .var{color:#61afba;font-style:italic;} .Digit{color:#008000;font-weight:bold;} .includePre{color:#3c65d1;} .operator?{color:#65ec0f;font-weight:bold;} </style>

函数名:?parsfnm?

功??能:?分析文件名?

用??法:?char?*parsfnm?(char?*cmdline,?struct?fcb?*fcbptr,?int?option);?

程序例:?

#include?<process.h>?
#include?<string.h>?
#include?<stdio.h>?
#include?<dos.h>?
int?main(void)?
{?
???char?line[80];?
???struct?fcb?blk;?
???/*?get?file?name?*/?
???printf("Enter?drive?and?file?name?(no?path?-?ie.?a:file.dat)\n");?
???gets(line);?
???/*?put?file?name?in?fcb?*/?
???if?(parsfnm(line,?&blk,?1)?==?NULL)?
??????printf("Error?in?parsfm?call\n");?
???else?
??????printf("Drive?#%d??Name:?%11s\n",?blk.fcb_drive,?blk.fcb_name);?
???return?0;?
}?
??
??

函数名:?peek?

功??能:?检查存储单元?

用??法:?int?peek(int?segment,?unsigned?offset);?

程序例:?

#include?<stdio.h>?
#include?<conio.h>?
#include?<dos.h>?
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?<stdio.h>?
#include?<conio.h>?
#include?<dos.h>?
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?<stdio.h>?
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?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
???/*?request?auto?detection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???int?midx,?midy;?
???int?stangle?=?45,?endangle?=?135,?radius?=?100;?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?read?result?of?initialization?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)??/*?an?error?occurred?*/?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?/*?terminate?with?an?error?code?*/?
???}?
???midx?=?getmaxx()?/?2;?
???midy?=?getmaxy()?/?2;?
???/*?set?fill?style?and?draw?a?pie?slice?*/?
???setfillstyle(EMPTY_FILL,?getmaxcolor());?
???pieslice(midx,?midy,?stangle,?endangle,?radius);?
???/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
??
??

函数名:?poke?

功??能:?存值到一个给定存储单元?

用??法:?void?poke(int?segment,?int?offset,?int?value);?

程序例:?

#include?<dos.h>?
#include?<conio.h>?
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?<dos.h>?
#include?<conio.h>?
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?<stdio.h>?
#include?<math.h>?
/*?polynomial:??x**3?-?2x**2?+?5x?-?1?*/?
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?<math.h>?
#include?<stdio.h>?
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?<math.h>?
#include?<stdio.h>?
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?<stdio.h>?
#include?<string.h>?
#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,"");?
???????????????strcpy(tp,prefix);?
???????????????strcat(tp,"6o?|");?
???????????????printf(tp,I);?
???????????????strcpy(tp,"");?
???????????????strcpy(tp,prefix);?
???????????????strcat(tp,"8x?|");?
???????????????printf(tp,I);?
???????????????strcpy(tp,"");?
???????????????strcpy(tp,prefix);?
????????strcat(tp,"10.2e?|");?
????????printf(tp,R);?
????????strcpy(tp,prefix);?
????????strcat(tp,"10.2f?|");?
????????printf(tp,R);?
????????printf("??\n");?
????????strcpy(prefix,"%");?
?????}?
???????}?
???return?0;?
}?
??
??

函数名:?putc?

功??能:?输出一字符到指定流中?

用??法:?int?putc(int?ch,?FILE?*stream);?

程序例:?

#include?<stdio.h>?
int?main(void)?
{?
???char?msg[]?=?"Hello?world\n";?
???int?i?=?0;?
???while?(msg[i])?
??????putc(msg[i++],?stdout);?
???return?0;?
}?
??
??

函数名:?putch?

功??能:?输出字符到控制台?

用??法:?int?putch(int?ch);?

程序例:?

#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
???char?ch?=?0;?
???printf("Input?a?string:");?
???while?((ch?!=?‘\r‘))?
???{?
??????ch?=?getch();?
??????putch(ch);?
???}?
???return?0;?
}?
??
??

函数名:?putchar?

功??能:?在stdout上输出字符?

用??法:?int?putchar(int?ch);?

程序例:?

#include?<stdio.h>?
/*?define?some?box-drawing?characters?*/?
#define?LEFT_TOP??0xDA?
#define?RIGHT_TOP?0xBF?
#define?HORIZ?????0xC4?
#define?VERT??????0xB3?
#define?LEFT_BOT??0xC0?
#define?RIGHT_BOT?0xD9?
int?main(void)?
{?
???char?i,?j;?
???/*?draw?the?top?of?the?box?*/?
???putchar(LEFT_TOP);?
???for?(i=0;?i<10;?i++)?
??????putchar(HORIZ);?
???putchar(RIGHT_TOP);?
???putchar(‘\n‘);?
???/*?draw?the?middle?*/?
???for?(i=0;?i<4;?i++)?
???{?
??????putchar(VERT);?
??????for?(j=0;?j<10;?j++)?
?????????putchar(‘?‘);?
??????putchar(VERT);?
??????putchar(‘\n‘);?
???}?
???/*?draw?the?bottom?*/?
???putchar(LEFT_BOT);?
???for?(i=0;?i<10;?i++)?
??????putchar(HORIZ);?
???putchar(RIGHT_BOT);?
???putchar(‘\n‘);?
???return?0;?
}?
??
??

函数名:?putenv?

功??能:?把字符串加到当前环境中?

用??法:?int?putenv(char?*envvar);?

程序例:?

#include?<stdio.h>?
#include?<stdlib.h>?
#include?<alloc.h>?
#include?<string.h>?
#include?<dos.h>?
int?main(void)?
{?
???char?*path,?*ptr;?
???int?i?=?0;?
???/*?get?the?current?path?environment?*/?
???ptr?=?getenv("PATH");?
???/*?set?up?new?path?*/?
???path?=?malloc(strlen(ptr)+15);?
???strcpy(path,"PATH=");?
???strcat(path,ptr);?
???strcat(path,";c:\\temp");?
???/*?replace?the?current?path?and?display?current?environment?*/?
???putenv(path);?
???while?(environ[i])?
???????printf("%s\n",environ[i++]);?
???return?0;?
}?
??
??

函数名:?putimage?

功??能:?在屏幕上输出一个位图?

用??法:?void?far?putimage(int?x,?int?y,?void?far?*bitmap,?int?op);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
#define?ARROW_SIZE?10?
void?draw_arrow(int?x,?int?y);?
int?main(void)?
{?
???/*?request?autodetection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???void?*arrow;?
???int?x,?y,?maxx;?
???unsigned?int?size;?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?read?result?of?initialization?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)??/*?an?error?occurred?*/?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?/*?terminate?with?an?error?code?*/?
???}?
???maxx?=?getmaxx();?
???x?=?0;?
???y?=?getmaxy()?/?2;?
???/*?draw?the?image?to?be?grabbed?*/?
???draw_arrow(x,?y);?
???/*?calculate?the?size?of?the?image?*/?
???size?=?imagesize(x,?y-ARROW_SIZE,?x+(4*ARROW_SIZE),?y+ARROW_SIZE);?
???/*?allocate?memory?to?hold?the?image?*/?
???arrow?=?malloc(size);?
???/*?grab?the?image?*/?
???getimage(x,?y-ARROW_SIZE,?x+(4*ARROW_SIZE),?y+ARROW_SIZE,?arrow);?
???/*?repeat?until?a?key?is?pressed?*/?
???while?(!kbhit())?
???{?
??????/*?erase?old?image?*/?
??????putimage(x,?y-ARROW_SIZE,?arrow,?XOR_PUT);?
??????x?+=?ARROW_SIZE;?
??????if?(x?>=?maxx)?
??????????x?=?0;?
??????/*?plot?new?image?*/?
??????putimage(x,?y-ARROW_SIZE,?arrow,?XOR_PUT);?
???}?
???/*?clean?up?*/?
???free(arrow);?
???closegraph();?
???return?0;?
}?
void?draw_arrow(int?x,?int?y)?
{?
???/*?draw?an?arrow?on?the?screen?*/?
???moveto(x,?y);?
???linerel(4*ARROW_SIZE,?0);?
???linerel(-2*ARROW_SIZE,?-1*ARROW_SIZE);?
???linerel(0,?2*ARROW_SIZE);?
???linerel(2*ARROW_SIZE,?-1*ARROW_SIZE);?
}?
??
??

函数名:?putpixel?

功??能:?在指定位置画一像素?

用??法:?void?far?putpixel?(int?x,?int?y,?int?pixelcolor);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
#include?<dos.h>?
#define?PIXEL_COUNT?1000?
#define?DELAY_TIME??100??/*?in?milliseconds?*/?
int?main(void)?
{?
???/*?request?autodetection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???int?i,?x,?y,?color,?maxx,?maxy,?maxcolor,?seed;?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?read?result?of?initialization?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)??/*?an?error?occurred?*/?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?/*?terminate?with?an?error?code?*/?
???}?
???maxx?=?getmaxx()?+?1;?
???maxy?=?getmaxy()?+?1;?
???maxcolor?=?getmaxcolor()?+?1;?
???while?(!kbhit())?
???{?
??????/*?seed?the?random?number?generator?*/?
??????seed?=?random(32767);?
??????srand(seed);?
??????for?(i=0;?i<PIXEL_COUNT;?i++)?
??????{?
??x?=?random(maxx);?
?????????y?=?random(maxy);?
?????????color?=?random(maxcolor);?
?????????putpixel(x,?y,?color);?
??????}?
??????delay(DELAY_TIME);?
??????srand(seed);?
??????for?(i=0;?i<PIXEL_COUNT;?i++)?
??????{?
??x?=?random(maxx);?
??y?=?random(maxy);?
??color?=?random(maxcolor);?
??if?(color?==?getpixel(x,?y))?
?????putpixel(x,?y,?0);?
??????}?
???}?
???/*?clean?up?*/?
???getch();?
???closegraph();?
???return?0;?
}?
??
??

函数名:?puts?

功??能:?送一字符串到流中?

用??法:?int?puts(char?*string);?

程序例:?

#include?<stdio.h>?
int?main(void)?
{?
???char?string[]?=?"This?is?an?example?output?string\n";?
???puts(string);?
???return?0;?
}?
??
??

函数名:?puttext?

功??能:?将文本从存储区拷贝到屏幕?

用??法:?int?puttext(int?left,?int?top,?int?right,?int?bottom,?void?*source);?

程序例:?

#include?<conio.h>?
int?main(void)?
{?
???char?buffer[512];?
???/*?put?some?text?to?the?console?*/?
???clrscr();?
???gotoxy(20,?12);?
???cprintf("This?is?a?test.??Press?any?key?to?continue?...");?
???getch();?
???/*?grab?screen?contents?*/?
???gettext(20,?12,?36,?21,buffer);?
???clrscr();?
???/*?put?selected?characters?back?to?the?screen?*/?
???gotoxy(20,?12);?
???puttext(20,?12,?36,?21,?buffer);?
???getch();?
???return?0;?
}?
??
??

函数名:?putw?

功??能:?把一字符或字送到流中?

用??法:?int?putw(int?w,?FILE?*stream);?

程序例:?

#include?<stdio.h>?
#include?<stdlib.h>?
#define?FNAME?"test.$$$"?
int?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;?
}?
??
??
??
??
?

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

P.xml