当前位置:文档之家› C语言函数大全(p开头).docx

C语言函数大全(p开头).docx

函数大全(p开头)61函数名: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(M Enter drive and file name (no path - ie. a:file.dat)\n M);gets(line);/* put file name in fcb */if (parsfnm(line, &blk, 1) == NULL)printf(M Error in parsfm call\n H);elseprintf("Drive #%d Name: %1 ls\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;prinif(=The current sUHus of yourkeyboardis,n=);value HPeek(oxoo4p0x0017)八if(value1)P S-二 f(--Right shift onm=)八elseprintaRight shift05n =)八if(value2)primf(=Lefrshiftonvr.relseprin-fTLenshiftO 51T );if(value&. 4) printf(=con=rolkeyon\n=)_ elsep r i n .s =c o =r o】keyoff\n=)八if(value Rp8)printf(=Alrkey on\n=)一elsep r i n s ->-tkey03=)if (v a c e8l16)prin 〔f(=scro=ock 02n=relseprimf(=scro=ockoff\n=);if (v a c e8c32)primf(=Numlockon\n=);elseprinif(=Numo c k off\n=);if (v a c e8l64)primacaps lockonw);elseprimf(二caps ock03=)因磬Ik 【功能:检查存储单元用法: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");elseprintf(M Right shift off\n M);if (value & 2)printf("Left shift on\n");elseprintf("Left shift off\n H);if (value & 4)printf(''Control key on\n H);elseprintf("Control key off\n");if (value & 8)printf("Alt key on\n");elseprintf("Alt key oflAn");if (value & 16)printf("Scroll lock on\n u);elseprintfC'Scroll lock off\n,f);if (value & 32)printfC'Num lock on\n u);elseprintf("Num lock off\n u);if (value & 64) printfC'Caps lock on\n");elseprintf(H Caps lock off\n");return 0;函数名:perror功能:系统错误信息用法:void perror(char ^string);程序例:#include <stdio.h>int main(void){FILE *fp;fp = fopen("peiTor.dat'\ "r");perror(H Unable to open file for reading0); 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,HH);/* read result of initialization */errorcode = graphresult();if (errorcode != grOk) /* an error occurred */{printf(H Graphics error: %s\n H, grapheiTormsg(errorcode));printf(n Press any key to halt:H);getch();exit(l); /* 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(n Make sure the scroll lock key is off and press any key\r\n H); getch();poke(0x0000,0x0417,16);cprintf(n The scroll lock is now on\r\n H); return 0;函数名:pokeb功能:存值到一个给定存储单元用法:void pokeb(int segment, int offset, char value);程序例:#include <dos.h>#include <conio-h>int main(void){clrscr();cprintf(H Make sure the scroll lock key is off and press any key\r\n H); getch();pokeb(0x0000,0x0417,16);cprintf(n The scroll lock is now on\r\n M);return 0;函数名:poly功能:根据参数产生一个多项式用法:double poly(double x, int n, double c[J);程序例:#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 x, y, pow(x, y));return 0;}函数名:pow 10功能:指数函数(10的p次方) 用法:double powl0(int p);程序例:#include <math.h>#inelude <stdio.h>int main(void){double p = 3.0;printf(M Ten raised to %lf is %lf\n H, p, powlO(p)); return 0;函数名:printf功能:产生格式化输出的函数用法:int printf(char *format…); 程序例:#include <stdio.h>#include <string.h> #define I 555#define R 5.5int main(void){int i,j,k,l;char buf[71;char ^prefix = buf;printf(M prefix 6d 60 8x 10.2e”10.22”);strcpy(prefix,"%n);for (i = 0; i < 2; i++){for(j = 0;j<2;j++)for (k = 0; k < 2; k++)for (1 = 0; 1 < 2; 1++){if (i==0) strcat(prefix,H-H);讦(j==0) strcat(prefix,H+n);if (k==0) strcat(prefix,*'#");if (l==0) strcat(prefix,H O M); printf("%5s |u,prefix);strcpy(tp,prefix);strcat(tp/'6d printf(tp,I); strcpy(tp;M,);strcpy(tp,prefix);strcat(tp;'6o |H); printf(tp,I);strcpy(tp;n,); strcpy(tp,prefix);strcat(tp,"8x printf(tp,I);strcpy(tp;,H); strcpy(tp,prefix);strcat(tp,"10.2e printf(tp,R);strcpy(tp,prefix);strcat(tp,”10.2iT);printf(tp,R); printfC \n H); strcpy(prefix/'%");)}return 0;函数名:putc功能:输出一字符到指定流中用法:int putc(int ch, FILE * stream); 程序例:#include <stdio.h>int main(void){char msg[] = M Hello world\n H;int i = 0;putc(msg[i++], stdout);return 0;函数名:putch功能:输出字符到控制台用法:int putch(int ch);程序例:#include <stdio.h>#include <conio.h> int main(void){char ch = 0;printf(M Input a string:”); while ((ch != V)) ch = getch(); putch(ch); }return 0;}函数名:putchar功能:在stdout ±输出字符用法:int putchar(int ch);程序例:#include <stdio.h>/* define some box-drawing characters */#define LEFT_TOP OxDA#define RIGHT_TOP OxBF#define HORIZ 0xC4#define VERT 0xB3#define LEFT.BOT OxCO#define RIGHT.BOT 0xD9int 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); putcharC^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 envi「onment */ptr = getenv("PATH M);/* set up new path ♦/path = malloc(strlen(ptr)+15);strcpy(path,M PATH=M);strcat(path,ptr);strcat(path/,;c:\\temp u);/* replace the current path and display current environment */ putenv(path);while (environ[i])printf("%s\n",environfi++]);return 0;函数名:put image功能:在屏幕上输出一个位图用了去:void far putimage(int x, int y, void far ^bitmap, int op); 程序例:#inelude <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#define ARROW_S1ZE 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(&gdrivei\ &gmode,HU);/* read result of initialization */errorcode = graphresult();if (errorcode != grOk) /* an error occurred */{printf(n Graphics error: %s\n M, grapheiTormsg(errorcode)); printf(H Press any key to halt:”);getch();exit(l); /* terminate with an error code */}maxx = getmaxx();x = 0;y = getmaxyO / 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*ARR0W_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(aiTow); 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); linereKO, 2*ARROW_SIZE); linerel(2*ARROW_SIZE, -1 *ARROW_SIZE);函数名:putpixel功能:在指定位置画一像素用法:void far putpixel (int x, int y, int pixelcolor); 程序例:#inelude <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,HU);/* read result of initialization */errorcode = graphresult();if (errorcode != grOk) /* an error occurred */{printf(n Graphics error: %s\n'\ grapheiTormsg(errorcode)); printf(H Press any key to halt:11);getch();exit(l); /* terminate with an error code */maxx = getmaxx() + 1;maxy = getmaxy() + 1;maxcolor = getmaxcolor() + 1;while (!kbhit()){/* seed the random number generator */seed = ran dom(32767);srand(seed);for (i=0; i<PIXEL_COUNT; i++){x = random(maxx);y = ran dom(niaxy);color = random(maxcolor); putpixel(x, y, color);}delay(DELAY_TIME); srand(seed);for (i=0; i<PIXEL_COUNT; i++) {x = ran dom(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 M;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[512J;/* put some text to the console */clrscr();gotoxy(20, 12);cprintf(u 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 n test.$$$H int main(void) {FILE *fp;int word;/* place the word in a file */ fp = fopen(FNAME, n wb u); if(fp==NULL) printf("Error opening file %s\n", FNAME); exit(l);}word = 94;putw(word,fp);if (ferror(fp))printf("Error writing to file\n");elseprintf("Successful write\n u);fclose(fp);/* reopen the file */fp = fopen(FNAME, M rb M);if (fp == NULL){printfC'Enor opening file %s\n", FNAME); exit(l);1/* extract the word */word = getw(fp);if (ferror(fp))printf("EiTor reading file\n");elseprintf(H Successful read: word = %d\n f\ word);/* clean up */fclose(fp);unlink(FNAME);return 0;。

相关主题