函数名: 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; }
本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。