首页 > 代码库 > P.xml
P.xml
函数名:?parsfnm?
功??能:?分析文件名?
用??法:?char?*parsfnm?(char?*cmdline,?struct?fcb?*fcbptr,?int?option);?
程序例:?
#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;? }? ?? ??
#include?<process.h>?
函数名:?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