⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdg_022s.txt

📁 c编程宝典,详细介绍有关c的资料
💻 TXT
📖 第 1 页 / 共 5 页
字号:
      /* 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 
功  能: 改变内部图形缓冲区的大小 
用  法: unsigned far setgraphbufsize(unsigned bufsize); 
程序例: 

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

#define BUFSIZE 1000 /* internal graphics buffer size */ 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int x, y, oldsize; 
   char msg[80]; 

   /* set the size of the internal graphics buffer */ 
   /* before making a call to initgraph.           */ 
   oldsize = setgraphbufsize(BUFSIZE); 

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

   x = getmaxx() / 2; 
   y = getmaxy() / 2; 

   /* output some messages */ 
   sprintf(msg, "Graphics buffer size: %d", BUFSIZE); 
   settextjustify(CENTER_TEXT, CENTER_TEXT); 
   outtextxy(x, y, msg); 
   sprintf(msg, "Old graphics buffer size: %d", oldsize); 
   outtextxy(x, y+textheight("W"), msg); 

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

函数名: setgraphmode 
功  能: 将系统设置成图形模式且清屏 
用  法: void far setgraphmode(int mode); 
程序例: 

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

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 
   int x, y; 

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

   x = getmaxx() / 2; 
   y = getmaxy() / 2; 

   /* output a message */ 
   settextjustify(CENTER_TEXT, CENTER_TEXT); 
   outtextxy(x, y, "Press any key to exit graphics:"); 
   getch(); 

   /* restore system to text mode */ 
   restorecrtmode(); 
   printf("We're now in text mode.\n"); 
   printf("Press any key to return to graphics mode:"); 
   getch(); 

   /* return to graphics mode */ 
   setgraphmode(getgraphmode()); 

   /* output a message */ 
   settextjustify(CENTER_TEXT, CENTER_TEXT); 
   outtextxy(x, y, "We're back in graphics mode."); 
   outtextxy(x, y+textheight("W"), "Press any key to halt:"); 

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

函数名: setjmp 
功  能: 非局部转移 
用  法: int setjmp(jmp_buf env); 
程序例: 

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

void subroutine(void); 

jmp_buf jumper; 

int main(void) 
{ 
   int value; 

   value = setjmp(jumper); 
   if (value != 0) 
   { 
      printf("Longjmp with value %d\n", value); 
      exit(value); 
   } 
   printf("About to call subroutine ... \n"); 
   subroutine(); 
   return 0; 
} 

void subroutine(void) 
{ 
   longjmp(jumper,1); 
} 
  
  

函数名: setlinestyle 
功  能: 设置当前画线宽度和类型 
用  法: void far setlinestyle(int linestype, unsigned upattern); 
程序例: 

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

/* the names of the line styles supported */ 
char *lname[] = { 
   "SOLID_LINE", 
   "DOTTED_LINE", 
   "CENTER_LINE", 
   "DASHED_LINE", 
   "USERBIT_LINE" 
   }; 

int main(void) 
{ 
   /* request auto detection */ 
   int gdriver = DETECT, gmode, errorcode; 

   int style, midx, midy, userpat; 
   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; 

   /* a user defined line pattern */ 
   /* binary: "0000000000000001"  */ 
   userpat = 1; 

   for (style=SOLID_LINE; style<=USERBIT_LINE; style++) 
   { 
      /* select the line style */ 
      setlinestyle(style, userpat, 1); 

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

      /* draw a line */ 
      line(0, 0, midx-10, midy); 

      /* draw a rectangle */ 
      rectangle(0, 0, getmaxx(), getmaxy()); 

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

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

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

函数名: setmem 
功  能: 存值到存储区 
用  法: void setmem(void *addr, int len, char value); 
程序例: 

#include <stdio.h> 
#include <alloc.h> 
#include <mem.h> 

int main(void) 
{ 
   char *dest; 

   dest = calloc(21, sizeof(char)); 
   setmem(dest, 20, 'c'); 
   printf("%s\n", dest); 

   return 0; 
} 
  
  
  

函数名: setmode 
功  能: 设置打开文件方式 
用  法: int setmode(int handle, unsigned mode); 
程序例: 

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

int main(void) 
{ 
   int result; 

   result = setmode(fileno(stdprn), O_TEXT); 
   if (result == -1) 
      perror("Mode not available\n"); 
   else 
      printf("Mode successfully switched\n"); 
   return 0; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -