当前位置:早雪网网络学院编程文档C/C++ → C语言库函数(S类字母) - 1

C语言库函数(S类字母) - 1

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-22 19:38:53
EXT); 
   x = getmaxx() / 2; 
   y = getmaxy() / 2; 

   /* loop through the available colors */ 
   for (color=1; color<=maxcolor; color++) 
   { 
      /* clear the screen */ 
      cleardevice(); 

      /* select a new background color */ 
      setcolor(color); 

      /* output a messsage */ 
      sprintf(msg, "Color: %d", color); 
      outtextxy(x, y, msg); 
      getch(); 
   } 

   /* clean up */ 
   closegraph(); 
   return 0; 

  
  

函数名: setdate 
功  能: 设置DOS日期 
用  法: void setdate(struct date *dateblk); 
程序例: 

#include <stdio.h> 
#include <process.h> 
#include <dos.h> 

int main(void) 

   struct date reset; 
   struct date save_date; 

   getdate(&save_date); 
   printf("Original date:\n"); 
   system("date"); 

   reset.da_year = 2001; 
   reset.da_day = 1; 
   reset.da_mon = 1; 
   setdate(&reset); 

   printf("Date after setting:\n"); 
   system("date"); 

   setdate(&save_date); 
   printf("Back to original date:\n"); 
   system("date"); 

   return 0; 

  
  

函数名: setdisk 
功  能: 设置当前磁盘驱动器 
用  法: int setdisk(int drive); 
程序例: 

#include <stdio.h> 
#include <dir.h> 

int main(void) 

   int save, disk, disks; 

   /* save original drive */ 
   save = getdisk(); 

   /* print number of logic drives */ 
   disks = setdisk(save); 
   printf("%d logical drives on the system\n\n", disks); 

   /* print the drive letters available */ 
   printf("Available drives:\n"); 
   for (disk = 0;disk < 26;++disk) 
   { 
      setdisk(disk); 
      if (disk == getdisk()) 
         printf("%c: drive is available\n", disk + 'a'); 
   } 
   setdisk(save); 

   return 0; 

  
  

函数名: setdta 
功  能: 设置磁盘传输区地址 
用  法: void setdta(char far *dta); 
程序例: 

#include <process.h> 
#include <string.h> 
#include <stdio.h> 
#include <dos.h> 

int main(void) 

   char line[80], far *save_dta; 
   char buffer[256] = "SETDTA test!"; 
   struct fcb blk; 
   int result; 

   /* get new file name from user */ 
   printf("Enter a file name to create:"); 
   gets(line); 

   /* parse the new file name to the dta */ 
   parsfnm(line, &blk, 1); 
   printf("%d %s\n", blk.fcb_drive, blk.fcb_name); 

   /* request DOS services to create file */ 
   if (bdosptr(0x16, &blk, 0) == -1) 
   { 
      perror("Error creating file"); 
      exit(1); 
   } 

   /* save old dta and set new dta */ 
   save_dta = getdta(); 
   setdta(buffer); 

   /* write new records */ 
   blk.fcb_recsize = 256; 
   blk.fcb_random = 0L; 
   result = randbwr(&blk, 1); 
   printf("result = %d\n", result); 

   if (!result) 
      printf("Write OK\n"); 
   else 
   { 
      perror("Disk error"); 
      exit(1); 
   } 

   /* request DOS services to close the file */ 
   if (bdosptr(0x10, &blk, 0) == -1) 
   { 
      perror("Error closing file"); 
      exit(1); 
   } 

   /* reset the old dta */ 
   setdta(save_dta); 
   return 0; 

  
  

函数名: setfillpattern 
功  能: 选择用户定义的填充模式 
用  法: void far setfillpattern(char far *upattern, int color); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 

   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int maxx, maxy; 

   /* a user defined fill pattern */ 
   char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00}; 

   /* 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(); 
   maxy = getmaxy(); 
   setcolor(getmaxcolor()); 

   /* select a user defined fill pattern */ 
   setfillpattern(pattern, getmaxcolor()); 

   /* fill the screen with the pattern */ 
   bar(0, 0, maxx, maxy); 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 

  
  

函数名: setfillstyle 
功  能: 设置填充模式和颜色 
用  法: void far setfillstyle(int pattern, int color); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <string.h> 
#include <stdio.h> 
#include <conio.h> 

/* the names of the fill styles supported */ 
char *fname[] = { "EMPTY_FILL", 
                  "SOLID_FILL", 
                  "LINE_FILL", 
                  "LTSLASH_FILL", 
                  "SLASH_FILL", 
                  "BKSLASH_FILL", 
                  "LTBKSLASH_FILL", 
    "HATCH_FILL", 
                  "XHATCH_FILL", 
                  "INTERLEAVE_FILL", 
                  "WIDE_DOT_FILL", 
                  "CLOSE_DOT_FILL", 
    "USER_FILL" 
                }; 

int main(void) 

   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int style, midx, midy; 
   char stylestr[40]; 

   /* 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; 

   for (style = EMPTY_FILL; style < USER_FILL; style++) 
   { 
      /* select the fill style */ 
      setfillstyle(style, getmaxcolor()); 

      /* convert style into a string */ 
      strcpy(stylestr, fname[style]); 

      /* fill a bar */ 
      bar3d(0, 0, midx-10, midy, 0, 0); 

      /* output a message */ 
      outtextxy(midx, midy, stylestr); 

      /* wait for a key */ 
      getch(); 
      cleardevice(); 
   } 

   /* clean up */ 
   getch(); 
   closegraph(); 
   return 0; 

  
  

函数名: setftime 
功  能: 设置文件日期和时间 
用  法: int setftime(int handle, struct ftime *ftimep); 
程序例: 

#include <stdio.h> 
#include <process.h> 
#include <fcntl.h> 
#include <io.h> 

int main(void) 

   struct ftime filet; 
   FILE *fp; 

   if ((fp = fopen("TEST.$$$", "w")) == NULL) 
   { 
      perror("Error:"); 
      exit(1); 
   } 

   fprintf(fp, "testing...\n"); 

   /* load ftime structure with new time and date */ 
   filet.ft_tsec = 1; 
   filet.ft_min = 1; 
   filet.ft_hour = 1; 
   filet.ft_day = 1; 
   filet.ft_month = 1; 
   filet.ft_year = 21; 

   /* show current directory for time and date */ 
   system("dir TEST.$$$"); 

   /* change the time and date stamp*/ 
   setftime(fileno(fp), &filet); 

   /* close and remove the temporary file */ 
   fclose(fp); 

   system("dir TEST.$$$"); 

   unlink("TEST.$$$"); 
   return 0; 

  
  

函数名: setgraphbufsize 
功  能: 改变内部图形缓冲区的大小 
用  法: un

上一页  [1] [2] [3] [4]  下一页

[数据载入中...] [返回上一页] [打 印]