P.xml

函数名: 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, 
  
    gmodeerrorcode; 
   
  
    int 
  
    midxmidy; 
   
  
    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
  
    (
  
    midxmidy, 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 
  
    (
  
    i 
  
    = 
  
    0i < 
  
    2i++) 
   
  
    { 
      
  
    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
  
    =
  
    0i<
  
    10i++) 
      
  
    putchar
  
    (HORIZ
  
    ); 
   
  
    putchar
  
    (RIGHT_TOP
  
    ); 
   
  
    putchar
  
    ('\
  
    n'); 
   /* draw 
  
    the middle */ 
   
  
    for 
  
    (
  
    i
  
    =
  
    0i<
  
    4i++) 
   
  
    { 
      
  
    putchar
  
    (VERT
  
    ); 
      
  
    for 
  
    (j
  
    =
  
    0; j<
  
    10; j++) 
         
  
    putchar
  
    (' '); 
      
  
    putchar
  
    (VERT
  
    ); 
      
  
    putchar
  
    ('\
  
    n'); 
   
  
    } 
   /* draw 
  
    the bottom */ 
   
  
    putchar
  
    (LEFT_BOT
  
    ); 
   
  
    for 
  
    (
  
    i
  
    =
  
    0i<
  
    10i++) 
      
  
    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 
  
    xint y
  
    )int 
  
    main
  
    (
  
    void
  
    ) 

  
    { 
   /* 
  
    request autodetection */ 
   
  
    int 
  
    gdriver 
  
    = DETECT, 
  
    gmodeerrorcode; 
   
  
    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 
  
    xint 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, 
  
    gmodeerrorcode; 
   
  
    int 
  
    ix, 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
  
    =
  
    0i<PIXEL_COUNT; 
  
    i++) 
      
  
    { 
  
  
    x 
  
    = 
  
    random
  
    (maxx
  
    ); 
         y 
  
    = 
  
    random
  
    (maxy
  
    ); 
         color 
  
    = 
  
    random
  
    (maxcolor
  
    ); 
         putpixel
  
    (
  
    x, y, color
  
    ); 
      
  
    } 
      delay
  
    (DELAY_TIME
  
    ); 
      
  
    srand
  
    (seed
  
    ); 
      
  
    for 
  
    (
  
    i
  
    =
  
    0i<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
  
    (
  
    20123621buffer
  
    ); 
   
  
    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} 
  
  
  
  
 

  
    
 
   

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

 

你可能感兴趣的:(xml)