首页 > 代码库 > c语言函数--P

c语言函数--P




本文由 书画小说软件 整理发布 内容与本软件无关 更惬意的读、更舒心的写、更轻松的发布

最全古典小说网 由本软件发布所得







函数名: 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, &blk1) == 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.05.0, -2.01.0 }; 
   double result; 
   result = poly(2.03, 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 (= 0; i < 2; i++) 
   { 
      for (= 0; j < 2; j++) 
         for (= 0; k < 2; k++) 
     for (= 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(02*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(2012); 
   cprintf("This is a test.  Press any key to continue ..."); 
   getch(); 
   /* grab screen contents */ 
   gettext(20123621,buffer); 
   clrscr(); 
   /* put selected characters back to the screen */ 
   gotoxy(2012); 
   puttext(20123621, 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 readword = %d\n", word); 
   /* clean up */ 
   fclose(fp); 
   unlink(FNAME); 
   return 0} 
  
  
  
  
 




书画小说软件 制作更惬意的读、更舒心的写、更轻松的发布

最全古典小说网 由本软件发布所得

c语言函数--P