LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 关闭主题
精华主题  
主题工具
旧 04-06-09, 21:36 第 16 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名qsort
功  能
使用快速排序例程进行排序
用  法
void qsort(void *baseint nelemint widthint (*fcmp)());
程序例
#include <stdio.h>
#include <stdlib.h>
#include <string.h> 

int sort_function( const void *a, const void *b); 

char list[5][4] = { "cat""car""cab""cap""can" };
   

int main(void)
{
   
int  x

   
qsort((void *)list, 5sizeof(list[0]), sort_function);
   for (
05x++)
      
printf("%s\n", list[x]);
   return 
0;


int sort_function( const void *a, const void *b)
{
   return( 
strcmp(a,b) );








__________________
希望大家提问前先 google 关键词
希望大家提问前先看论坛的精华和置项的贴子
希望大家提问前先搜索论坛的相关内容
希望大家提问时把标题写清楚
希望大家贴代码时能保持缩进
LFS ID:8158
  kj501 当前离线  
旧 04-06-09, 21:37 第 17 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名raise 
功  能
向正在执行的程序发送一个信号 
用  法
int raise(int sig); 
程序例

#include <signal.h> 

int main(void

   
int ab

   
10
   
0
   if (
== 0
   
/* preempt divide by zero error */ 
      
raise(SIGFPE); 
   
b
   return 
0

   
   

函数名rand 
功  能
随机数发生器 
用  法
void rand(void); 
程序例

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

int main(void

   
int i

   
printf("Ten random numbers from 0 to 99\n\n"); 
   for(
i=0i<10i++) 
      
printf("%d\n"rand() % 100); 
   return 
0

   
   

函数名randbrd 
功  能
随机块读 
用  法
int randbrd(struct fcb *fcbptrint reccnt); 
程序例

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

int main(void

   
char far *save_dta
   
char line[80], buffer[256]; 
   
struct fcb blk
   
int iresult

   
/* get user input file name for dta */ 
   
printf("Enter drive and file name (no path - i.e. a:file.dat)\n"); 
   
gets(line); 

   
/* put file name in fcb */ 
   
if (!parsfnm(line, &blk1)) 
   { 
      
printf("Error in call to parsfnm\n"); 
      exit(
1); 
   } 
   
printf("Drive #%d  File: %s\n\n"blk.fcb_driveblk.fcb_name); 

   
/* open file with DOS FCB open file */ 
   
bdosptr(0x0F, &blk0); 

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

   
/* set up info for the new dta */ 
   
blk.fcb_recsize 128
   
blk.fcb_random 0L
   
result randbrd(&blk1); 

   
/* check results from randbrd */ 
   
if (!result
      
printf("Read OK\n\n"); 
   else 
   { 
      
perror("Error during read"); 
      exit(
1); 
   } 

   
/* read in data from the new dta */ 
   
printf("The first 128 characters are:\n"); 
   for (
i=0i<128i++) 
      
putchar(buffer[i]); 

   
/* restore previous dta */ 
   
setdta(save_dta); 

   return 
0

   

函数名randbwr 
功  能
随机块写 
用  法
int randbwr(struct fcp *fcbptrint reccnt); 
程序例

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

int main(void

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

   
/* get new file name from user */ 
   
printf("Enter a file name to create (no path - ie. a:file.dat\n"); 
   
gets(line); 

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

   
/* request DOS services to create file */ 
   
if (bdosptr(0x16, &blk0) == -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(&blk1); 

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

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

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

   return 
0

   
   

函数名random 
功  能
随机数发生器 
用  法
int random(int num); 
程序例

#include <stdlib.h> 
#include <stdio.h> 
#include <time.h> 

/* prints a random number in the range 0 to 99 */ 
int main(void

   
randomize(); 
   
printf("Random number in the 0-99 range: %d\n"random (100)); 
   return 
0

   
   

函数名randomize 
功  能
初始化随机数发生器 
用  法
void randomize(void); 
程序例

#include <stdlib.h> 
#include <stdio.h> 
#include <time.h> 

int main(void

   
int i

   
randomize(); 
   
printf("Ten random numbers from 0 to 99\n\n"); 
   for(
i=0i<10i++) 
       
printf("%d\n"rand() % 100); 
   return 
0

   
   

函数名read 
功  能
从文件中读 
用  法
int read(int handlevoid *bufint nbyte); 
程序例

#include <stdio.h> 
#include <io.h> 
#include <alloc.h> 
#include <fcntl.h> 
#include <process.h> 
#include <sys\stat.h> 

int main(void

   
void *buf
   
int handlebytes

   
buf malloc(10); 

/* 
   Looks for a file in the current directory named TEST.$$$ and attempts 
   to read 10 bytes from it.  To use this example you should create the 
   file TEST.$$$ 
*/ 
   
if ((handle 
      
open("TEST.$$$"O_RDONLY O_BINARYS_IWRITE S_IREAD)) == -1
   { 
      
printf("Error Opening File\n"); 
      exit(
1); 
   } 

   if ((
bytes read(handlebuf10)) == -1) { 
      
printf("Read Failed.\n"); 
      exit(
1); 
   } 
   else { 
      
printf("Read: %d bytes read.\n"bytes); 
   } 
   return 
0

   
   

函数名realloc 
功  能
重新分配主存 
用  法
void *realloc(void *ptrunsigned newsize); 
程序例

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

int main(void

   
char *str

   
/* allocate memory for string */ 
   
str malloc(10); 

   
/* copy "Hello" into string */ 
   
strcpy(str"Hello"); 

   
printf("String is %s\n  Address is %p\n"strstr); 
   
str realloc(str20); 
   
printf("String is %s\n  New address is %p\n"strstr); 

   
/* free memory */ 
   
free(str); 

   return 
0

   
   

函数名rectangle 
功  能
画一个矩形 
用  法
void far rectangle(int leftint topint rightint bottom); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int lefttoprightbottom

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


   
left getmaxx() / 50
   
top getmaxy() / 50
   
right getmaxx() / 50
   
bottom getmaxy() / 50

   
/* draw a rectangle */ 
   
rectangle(left,top,right,bottom); 

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

   
   

函数名registerbgidriver 
功  能
登录已连接进来的图形驱动程序代码 
用  法
int registerbgidriver(void(*driver)(void)); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode

   
/* register a driver that was added into graphics.lib */ 
   
errorcode registerbgidriver(EGAVGA_driver); 

   
/* report any registration errors */ 
   
if (errorcode 0
   { 
      
printf("Graphics error: %s\n"grapherrormsg(errorcode)); 
      
printf("Press any key to halt:"); 
      
getch(); 
      exit(
1); /* terminate with an error code */ 
   


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


   
/* draw a line */ 
   
line(00getmaxx(), getmaxy()); 

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

   
   

函数名remove 
功  能
删除一个文件 
用  法
int remove(char *filename); 
程序例

#include <stdio.h> 

int main(void

   
char file[80]; 

   
/* prompt for file name to delete */ 
   
printf("File to delete: "); 
   
gets(file); 

   
/* delete the file */ 
   
if (remove(file) == 0
      
printf("Removed %s.\n",file); 
   else 
      
perror("remove"); 

   return 
0

   
   

函数名rename 
功  能
重命名文件 
用  法
int rename(char *oldnamechar *newname); 
程序例

#include <stdio.h> 

int main(void

   
char oldname[80], newname[80]; 

   
/* prompt for file to rename and new name */ 
   
printf("File to rename: "); 
   
gets(oldname); 
   
printf("New name: "); 
   
gets(newname); 

   
/* Rename the file */ 
   
if (rename(oldnamenewname) == 0
      
printf("Renamed %s to %s.\n"oldnamenewname); 
   else 
      
perror("rename"); 

   return 
0

   
   

函数名restorecrtmode 
功  能
将屏幕模式恢复为先前的imitgraph设置 
用  法
void far restorecrtmode(void); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int xy

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


   
getmaxx() / 2
   
getmaxy() / 2

   
/* output a message */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
outtextxy(xy"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_TEXTCENTER_TEXT); 
   
outtextxy(xy"We're back in graphics mode."); 
   
outtextxy(xy+textheight("W"), "Press any key to halt:"); 

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

   
   

函数名rewind 
功  能
将文件指针重新指向一个流的开头 
用  法
int rewind(FILE *stream); 
程序例

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

int main(void

    
FILE *fp
    
char *fname "TXXXXXX", *newnamefirst

    
newname mktemp(fname); 
    
fp fopen(newname,"w+"); 
    
fprintf(fp,"abcdefghijklmnopqrstuvwxyz"); 
    
rewind(fp); 
    
fscanf(fp,"%c",&first); 
    
printf("The first character is: %c\n",first); 
    
fclose(fp); 
    
remove(newname); 

    return 
0

   
   

函数名rmdir 
功  能
删除DOS文件目录 
用  法
int rmdir(char *stream); 
程序例

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

#define DIRNAME "testdir.$$$" 

int main(void

   
int stat

   
stat mkdir(DIRNAME); 
   if (!
stat
          
printf("Directory created\n"); 
   else 
   { 
      
printf("Unable to create directory\n"); 
      exit(
1); 
   } 

   
getch(); 
   
system("dir/p"); 
   
getch(); 

   
stat rmdir(DIRNAME); 
   if (!
stat
          
printf("\nDirectory deleted\n"); 
   else 
   { 
   
perror("\nUnable to delete directory\n"); 
      exit(
1); 
   } 

   return 
0

  kj501 当前离线  
旧 04-06-09, 21:38 第 18 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名sbrk 
功  能
改变数据段空间位置 
用  法
char *sbrk(int incr); 
程序例

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

int main(void

   
printf("Changing allocation with sbrk()\n"); 
   
printf("Before sbrk() call: %lu bytes free\n"
   (
unsigned longcoreleft()); 
   
sbrk(1000); 
   
printf(" After sbrk() call: %lu bytes free\n"
   (
unsigned longcoreleft()); 
   return 
0

   
   

函数名scanf 
功  能
执行格式化输入 
用  法
int scanf(char *format[,argument,...]); 
程序例

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

int main(void

   
char label[20]; 
   
char name[20]; 
   
int entries 0
   
int loopage
   
double salary

   
struct Entry_struct 
   

      
char  name[20]; 
      
int   age
      
float salary
   } 
entry[20]; 

/* Input a label as a string of characters restricting to 20 characters */ 
   
printf("\n\nPlease enter a label for the chart: "); 
   
scanf("%20s"label); 
   
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* Input number of entries as an integer */ 
   
printf("How many entries will there be? (less than 20) "); 
   
scanf("%d", &entries); 
   
fflush(stdin);   /* flush the input stream in case of bad input */ 

/* input a name restricting input to only letters upper or lower case */ 
   
for (loop=0;loop<entries;++loop
   { 
      
printf("Entry %d\n"loop); 
      
printf("  Name   : "); 
      
scanf("%[A-Za-z]"entry[loop].name); 
      
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input an age as an integer */ 
      
printf("  Age    : "); 
      
scanf("%d", &entry[loop].age); 
      
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input a salary as a float */ 
      
printf("  Salary : "); 
      
scanf("%f", &entry[loop].salary); 
      
fflush(stdin); /* flush the input stream in case of bad input */ 
   


/* Input a name, age and salary as a string, integer, and double */ 
   
printf("\nPlease enter your name, age and salary\n"); 
   
scanf("%20s %d %lf"name, &age, &salary); 
   

/* Print out the data that was input */ 
   
printf("\n\nTable %s\n",label); 
   
printf("Compiled by %s  age %d  $%15.2lf\n"nameagesalary); 
   
printf("-----------------------------------------------------\n"); 
   for (
loop=0;loop<entries;++loop
      
printf("%4d | %-20s | %5d | %15.2lf\n"
         
loop 1
  
entry[loop].name
  
entry[loop].age
         
entry[loop].salary); 
   
printf("-----------------------------------------------------\n"); 
   return 
0

   
   

函数名searchpath 
功  能
搜索DOS路径 
用  法
char *searchpath(char *filename); 
程序例

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

int main(void

   
char *p

   
/* Looks for TLINK and returns a pointer 
      to the path  */ 
   
searchpath("TLINK.EXE"); 
   
printf("Search for TLINK.EXE : %s\n"p); 

   
/* Looks for non-existent file  */ 
   
searchpath("NOTEXIST.FIL"); 
   
printf("Search for NOTEXIST.FIL : %s\n"p); 

   return 
0

   
   

函数名sector 
功  能
画并填充椭圆扇区 
用  法
void far sector(int xint yint stangleint endangle); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int midxmidyi
   
int stangle 45endangle 135
   
int xrad 100yrad 50

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

   
/* loop through the fill patterns */ 
   
for (i=EMPTY_FILLi<USER_FILLi++) 
   { 
      
/* set the fill style */ 
      
setfillstyle(igetmaxcolor()); 

      
/* draw the sector slice */ 
      
sector(midxmidystangleendanglexradyrad); 

      
getch(); 
   } 

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

   

函数名segread 
功  能
读段寄存器值 
用  法
void segread(struct SREGS *segtbl); 
程序例

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

int main(void

   
struct SREGS segs

   
segread(&segs); 
   
printf("Current segment register settings\n\n"); 
   
printf("CS: %X   DS: %X\n"segs.cssegs.ds); 
   
printf("ES: %X   SS: %X\n"segs.essegs.ss); 

   return 
0

   
   

函数名setactivepage 
功  能
设置图形输出活动页 
用  法
void far setactivepage(int pagenum); 
程序例

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

int main(void

   
/* select a driver and mode that supports */ 
   /* multiple pages.                        */ 
   
int gdriver EGAgmode EGAHIerrorcode
   
int xyht

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


   
getmaxx() / 2
   
getmaxy() / 2
   
ht textheight("W"); 

   
/*  select the off screen page for drawing */ 
   
setactivepage(1); 

   
/* draw a line on page #1 */ 
   
line(00getmaxx(), getmaxy()); 

   
/* output a message on page #1 */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
outtextxy(xy"This is page #1:"); 
   
outtextxy(xy+ht"Press any key to halt:"); 

   
/* select drawing to page #0 */ 
   
setactivepage(0); 

   
/* output a message  on page #0 */ 
   
outtextxy(xy"This is page #0."); 
   
outtextxy(xy+ht"Press any key to view page #1:"); 
   
getch(); 

   
/* select page #1 as the visible page */ 
   
setvisualpage(1); 

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

   
   

函数名setallpallette 
功  能
按指定方式改变所有的调色板颜色 
用  法
void far setallpallette(struct palettefar *pallette); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
struct palettetype pal
   
int colormaxcolorht
   
int y 10
   
char msg[80]; 

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


   
maxcolor getmaxcolor(); 
   
ht textheight("W"); 

   
/* grab a copy of the palette */ 
   
getpalette(&pal); 

   
/* display the default palette colors */ 
   
for (color=1color<=maxcolorcolor++) 
   { 
      
setcolor(color); 
      
sprintf(msg"Color: %d"color); 
      
outtextxy(1ymsg); 
      
+= ht
   } 

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

   
/* black out the colors one by one */ 
   
for (color=1color<=maxcolorcolor++) 
   { 
      
setpalette(colorBLACK); 
      
getch(); 
   } 

   
/* restore the palette colors */ 
   
setallpalette(&pal); 

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

   
   

函数名setaspectratio 
功  能
设置图形纵横比 
用  法
void far setaspectratio(int xaspint yasp); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int xaspyaspmidxmidy

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

   
/* get current aspect ratio settings */ 
   
getaspectratio(&xasp, &yasp); 

   
/* draw normal circle */ 
   
circle(midxmidy100); 
   
getch(); 

   
/* claer the screen */ 
   
cleardevice(); 

   
/* adjust the aspect for a wide circle */ 
   
setaspectratio(xasp/2yasp); 
   
circle(midxmidy100); 
   
getch(); 

   
/* adjust the aspect for a narrow circle */ 
   
cleardevice(); 
   
setaspectratio(xaspyasp/2); 
   
circle(midxmidy100); 

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

   
   

函数名setbkcolor 
功  能
用调色板设置当前背景颜色 
用  法
void far setbkcolor(int color); 
程序例

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

int main(void

   
/* select a driver and mode that supports */ 
   /* multiple background colors.            */ 
   
int gdriver EGAgmode EGAHIerrorcode
   
int bkcolmaxcolorxy
   
char msg[80]; 

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


   
/* maximum color index supported */ 
   
maxcolor getmaxcolor(); 

   
/* for centering text messages */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
getmaxx() / 2
   
getmaxy() / 2

   
/* loop through the available colors */ 
   
for (bkcol=0bkcol<=maxcolorbkcol++) 
   { 
      
/* clear the screen */ 
      
cleardevice(); 

      
/* select a new background color */ 
      
setbkcolor(bkcol); 

      
/* output a messsage */ 
      
if (bkcol == WHITE
  
setcolor(EGA_BLUE); 
      
sprintf(msg"Background color: %d"bkcol); 
      
outtextxy(xymsg); 
      
getch(); 
   } 

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

   
   

函数名setblock 
功  能
修改先前已分配的DOS存储段大小 
用  法
int setblock(int segint newsize); 
程序例

#include <dos.h> 
#include <alloc.h> 
#include <stdio.h> 
#include <stdlib.h> 

int main(void

   
unsigned int sizesegp
   
int stat

   
size 64/* (64 x 16) = 1024 bytes */ 
   
stat allocmem(size, &segp); 
   if (
stat == -1
      
printf("Allocated memory at segment: %X\n"segp); 
   else 
   { 
      
printf("Failed: maximum number of paragraphs available is %d\n"
      
stat); 
      exit(
1); 
   } 

   
stat setblock(segpsize 2); 
   if (
stat == -1
      
printf("Expanded memory block at segment: %X\n"segp); 
   else 
      
printf("Failed: maximum number of paragraphs available is %d\n"
             
stat); 

   
freemem(segp); 

   return 
0

   
   

函数名setbuf 
功  能
把缓冲区与流相联 
用  法
void setbuf(FILE *steamchar *buf); 
程序例

#include <stdio.h> 

/* BUFSIZ is defined in stdio.h */ 
char outbuf[BUFSIZ]; 

int main(void

   
/* attach a buffer to the standard output stream */ 
   
setbuf(stdoutoutbuf); 

   
/* put some characters into the buffer */ 
   
puts("This is a test of buffered output.\n\n"); 
   
puts("This output will go into outbuf\n"); 
   
puts("and won't appear until the buffer\n"); 
   
puts("fills up or we flush the stream.\n"); 

   
/* flush the output buffer */ 
   
fflush(stdout); 

   return 
0

   
   

函数名setcbrk 
功  能
设置Control-break 
用  法int setcbrk(int value); 
程序例

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

int main(void

   
int break_flag

   
printf("Enter 0 to turn control break off\n"); 
   
printf("Enter 1 to turn control break on\n"); 

   
break_flag getch() - 0

   
setcbrk(break_flag); 

   if (
getcbrk()) 
      
printf("Cntrl-brk flag is on\n"); 
   else 
      
printf("Cntrl-brk flag is off\n"); 
   return 
0

   
   
   

函数名setcolor 
功  能
设置当前画线颜色 
用  法
void far setcolor(int color); 
程序例

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

int main(void

   
/* select a driver and mode that supports */ 
   /* multiple drawing colors.               */ 
   
int gdriver EGAgmode EGAHIerrorcode
   
int colormaxcolorxy
   
char msg[80]; 

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


   
/* maximum color index supported */ 
   
maxcolor getmaxcolor(); 

   
/* for centering text messages */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
getmaxx() / 2
   
getmaxy() / 2

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

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

      
/* output a messsage */ 
      
sprintf(msg"Color: %d"color); 
      
outtextxy(xymsg); 
      
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 savediskdisks

   
/* 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, &blk1); 
   
printf("%d %s\n"blk.fcb_driveblk.fcb_name); 

   
/* request DOS services to create file */ 
   
if (bdosptr(0x16, &blk0) == -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(&blk1); 
   
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, &blk0) == -1
   { 
      
perror("Error closing file"); 
      exit(
1); 
   } 

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

   
   

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

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int maxxmaxy

   
/* a user defined fill pattern */ 
   
char pattern[8] = {0x000x700x200x270x240x240x070x00}; 

   
/* 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(patterngetmaxcolor()); 

   
/* fill the screen with the pattern */ 
   
bar(00maxxmaxy); 

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

   
   

函数名setfillstyle 
功  能
设置填充模式和颜色 
用  法
void far setfillstyle(int patternint 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 DETECTgmodeerrorcode
   
int stylemidxmidy
   
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_FILLstyle USER_FILLstyle++) 
   { 
      
/* select the fill style */ 
      
setfillstyle(stylegetmaxcolor()); 

      
/* convert style into a string */ 
      
strcpy(stylestrfname[style]); 

      
/* fill a bar */ 
      
bar3d(00midx-10midy00); 

      
/* output a message */ 
      
outtextxy(midxmidystylestr); 

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

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

   
   

函数名setftime 
功  能
设置文件日期和时间 
用  法
int setftime(int handlestruct 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 DETECTgmodeerrorcode
   
int xyoldsize
   
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 */ 
   


   
getmaxx() / 2
   
getmaxy() / 2

   
/* output some messages */ 
   
sprintf(msg"Graphics buffer size: %d"BUFSIZE); 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
outtextxy(xymsg); 
   
sprintf(msg"Old graphics buffer size: %d"oldsize); 
   
outtextxy(xy+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 DETECTgmodeerrorcode
   
int xy

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


   
getmaxx() / 2
   
getmaxy() / 2

   
/* output a message */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
outtextxy(xy"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_TEXTCENTER_TEXT); 
   
outtextxy(xy"We're back in graphics mode."); 
   
outtextxy(xy+textheight("W"), "Press any key to halt:"); 

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

  kj501 当前离线  
旧 04-06-09, 21:39 第 19 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名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 linestypeunsigned 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 DETECTgmodeerrorcode

   
int stylemidxmidyuserpat
   
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_LINEstyle<=USERBIT_LINEstyle++) 
   { 
      
/* select the line style */ 
      
setlinestyle(styleuserpat1); 

      
/* convert style into a string */ 
      
strcpy(stylestrlname[style]); 

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

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

      
/* output a message */ 
      
outtextxy(midxmidystylestr); 

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

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

   
   
   

函数名setmem 
功  能
存值到存储区 
用  法
void setmem(void *addrint lenchar value); 
程序例

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

int main(void

   
char *dest

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

   return 
0

   
   
   

函数名setmode 
功  能
设置打开文件方式 
用  法
int setmode(int handleunsigned 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

   
   
   

函数名setpalette 
功  能
改变调色板的颜色 
用  法
void far setpalette(int indexint actural_color); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int colormaxcolorht
   
int y 10
   
char msg[80]; 

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


   
maxcolor getmaxcolor(); 
   
ht textheight("W"); 

   
/* display the default colors */ 
   
for (color=1color<=maxcolorcolor++) 
   { 
      
setcolor(color); 
      
sprintf(msg"Color: %d"color); 
      
outtextxy(1ymsg); 
      
+= ht
   } 

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

   
/* black out the colors one by one */ 
   
for (color=1color<=maxcolorcolor++) 
   { 
      
setpalette(colorBLACK); 
      
getch(); 
   } 

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

   
   

函数名setrgbpalette 
功  能
定义IBM8514图形卡的颜色 
用  法
void far setrgbpalette(int colornumint redint greenint blue); 
程序例

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

int main(void

   
/* select a driver and mode that supports the use */ 
   /* of the setrgbpalette function.                 */ 
   
int gdriver VGAgmode VGAHIerrorcode
   
struct palettetype pal
   
int ihtyxmax

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


   
/* grab a copy of the palette */ 
   
getpalette(&pal); 

   
/* create gray scale */ 
   
for (i=0i<pal.sizei++) 
      
setrgbpalette(pal.colors[i], i*4i*4i*4); 

   
/* display the gray scale */ 
   
ht getmaxy() / 16
   
xmax getmaxx(); 
   
0
   for (
i=0i<pal.sizei++) 
   { 
      
setfillstyle(SOLID_FILLi); 
      
bar(0yxmaxy+ht); 
      
+= ht
   } 

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

   
   
   

函数名settextjustify 
功  能
为图形函数设置文本的对齐方式 
用  法
void far settextjustify(int horizint vert); 
程序例

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

/* function prototype */ 
void xat(int xint y); 

/* horizontal text justification settings */ 
char *hjust[] = { "LEFT_TEXT"
                  
"CENTER_TEXT"
                  
"RIGHT_TEXT" 
                
}; 

/* vertical text justification settings */ 
char *vjust[] = { "LEFT_TEXT"
    
"CENTER_TEXT"
    
"RIGHT_TEXT" 
                
}; 

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int midxmidyhjvj
   
char msg[80]; 

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

   
/* loop through text justifications */ 
   
for (hj=LEFT_TEXThj<=RIGHT_TEXThj++) 
      for (
vj=LEFT_TEXTvj<=RIGHT_TEXTvj++) 
      { 
         
cleardevice(); 
         
/* set the text justification */ 
         
settextjustify(hjvj); 

         
/* create a message string */ 
         
sprintf(msg"%s  %s"hjust[hj], vjust[vj]); 

  
/* create cross hairs on the screen */ 
  
xat(midxmidy); 

         
/* output the message */ 
         
outtextxy(midxmidymsg); 
         
getch(); 
      } 

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


/* draw an "x" at (x, y) */ 
void xat(int xint y

  
line(x-4yx+4y); 
  
line(xy-4xy+4); 

   
   

函数名settextstyle 
功  能
为图形输出设置当前的文本属性 
用  法
void far settextstyle (int fontint directionchar size); 
程序例

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

/* the names of the text styles supported */ 
char *fname[] = { "DEFAULT font"
                  
"TRIPLEX font"
                  
"SMALL font"
                  
"SANS SERIF font"
                  
"GOTHIC font" 
                
}; 

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int stylemidxmidy
   
int size 1

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

   
settextjustify(CENTER_TEXTCENTER_TEXT); 

   
/* loop through the available text styles */ 
   
for (style=DEFAULT_FONTstyle<=GOTHIC_FONTstyle++) 
   { 
      
cleardevice(); 
      if (
style == TRIPLEX_FONT
         
size 4

      
/* select the text style */ 
      
settextstyle(styleHORIZ_DIRsize); 

      
/* output a message */ 
      
outtextxy(midxmidyfname[style]); 
      
getch(); 
   } 

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

   
   

函数名settextstyle 
功  能
为图形输出设置当前的文本属性 
用  法
void far settextstyle (int fontint directionchar size); 
程序例

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

/* the names of the text styles supported */ 
char *fname[] = { "DEFAULT font"
                  
"TRIPLEX font"
                  
"SMALL font"
                  
"SANS SERIF font"
                  
"GOTHIC font" 
                
}; 

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int stylemidxmidy
   
int size 1

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

   
settextjustify(CENTER_TEXTCENTER_TEXT); 

   
/* loop through the available text styles */ 
   
for (style=DEFAULT_FONTstyle<=GOTHIC_FONTstyle++) 
   { 
      
cleardevice(); 
      if (
style == TRIPLEX_FONT
         
size 4

      
/* select the text style */ 
      
settextstyle(styleHORIZ_DIRsize); 

      
/* output a message */ 
      
outtextxy(midxmidyfname[style]); 
      
getch(); 
   } 

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

   
   

函数名settime 
功  能
设置系统时间 
用  法
void settime(struct time *timep); 
程序例

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

int main(void

   
struct  time t

   
gettime(&t); 
   
printf("The current minute is: %d\n"t.ti_min); 
   
printf("The current hour is: %d\n"t.ti_hour); 
   
printf("The current hundredth of a second is: %d\n"t.ti_hund); 
   
printf("The current second is: %d\n"t.ti_sec); 

   
/* Add one to the minutes struct element and then call settime  */ 
   
t.ti_min++; 
   
settime(&t); 

   return 
0

   
   

函数名setusercharsize 
功  能
为矢量字体改变字符宽度和高度 
用  法
void far setusercharsize(int multxint dirxint multyint diry); 
程序例

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

int main(void

   
/* request autodetection */ 
   
int gdriver DETECTgmodeerrorcode

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


   
/* select a text style */ 
   
settextstyle(TRIPLEX_FONTHORIZ_DIR4); 

   
/* move to the text starting position */ 
   
moveto(0getmaxy() / 2); 

   
/* output some normal text */ 
   
outtext("Norm "); 

   
/* make the text 1/3 the normal width */ 
   
setusercharsize(1311); 
   
outtext("Short "); 

   
/* make the text 3 times normal width */ 
   
setusercharsize(3111); 
   
outtext("Wide"); 

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

   

函数名setvbuf 
功  能
把缓冲区与流相关 
用  法
int setvbuf(FILE *streamchar *bufint typeunsigned size); 
程序例

#include <stdio.h> 

int main(void

   
FILE *input, *output
   
char bufr[512]; 

   
input fopen("file.in""r+b"); 
   
output fopen("file.out""w"); 

   
/* set up input stream for minimal disk access, 
      using our own character buffer */ 
   
if (setvbuf(inputbufr_IOFBF512) != 0
      
printf("failed to set up buffer for input file\n"); 
   else 
      
printf("buffer set up for input file\n"); 

   
/* set up output stream for line buffering using space that 
      will be obtained through an indirect call to malloc */ 
   
if (setvbuf(outputNULL_IOLBF132) != 0
      
printf("failed to set up buffer for output file\n"); 
   else 
      
printf("buffer set up for output file\n"); 

   
/* perform file I/O here */ 

   /* close files */ 
   
fclose(input); 
   
fclose(output); 
   return 
0

   
   
   

函数名setvect 
功  能
设置中断矢量入口 
用  法
void setvect(int intr_numvoid interrupt(*isr)()); 
程序例

/***NOTE: 
    This is an interrupt service routine.  You can NOT compile this 
    program with Test Stack Overflow turned on and get an executable 
    file which will operate correctly. */ 

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

#define INTR 0X1C    /* The clock tick interrupt */ 

void interrupt ( *oldhandler)(void); 

int count=0

void interrupt handler(void

/* increase the global counter */ 
   
count++; 

/* call the old routine */ 
   
oldhandler(); 


int main(void

/* save the old interrupt vector */ 
   
oldhandler getvect(INTR); 

/* install the new interrupt handler */ 
   
setvect(INTRhandler); 

/* loop until the counter exceeds 20 */ 
   
while (count 20
      
printf("count is %d\n",count); 

/* reset the old interrupt handler */ 
   
setvect(INTRoldhandler); 

   return 
0

   
   

函数名setverify 
功  能
设置验证状态 
用  法
void setverify(int value); 
程序例

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

int main(void

   
int verify_flag

   
printf("Enter 0 to set verify flag off\n"); 
   
printf("Enter 1 to set verify flag on\n"); 

   
verify_flag getch() - 0

   
setverify(verify_flag); 

   if (
getverify()) 
      
printf("DOS verify flag is on\n"); 
   else 
      
printf("DOS verify flag is off\n"); 

   return 
0

   
   

函数名setviewport 
功  能
为图形输出设置当前视口 
用  法
void far setviewport(int leftint topint right
        
int bottomint clipflag); 
程序例

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

#define CLIP_ON 1   /* activates clipping in viewport */ 

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode

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


   
setcolor(getmaxcolor()); 

   
/* message in default full-screen viewport */ 
   
outtextxy(00"* <-- (0, 0) in default viewport"); 

   
/* create a smaller viewport */ 
   
setviewport(5050getmaxx()-50getmaxy()-50CLIP_ON); 

   
/* display some text */ 
   
outtextxy(00"* <-- (0, 0) in smaller viewport"); 

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

   
   

函数名setvisualpage 
功  能
设置可见图形页号 
用  法
void far setvisualpage(int pagenum); 
程序例

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

int main(void

   
/* select a driver and mode that supports */ 
   /* multiple pages.                        */ 
   
int gdriver EGAgmode EGAHIerrorcode
   
int xyht

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


   
getmaxx() / 2
   
getmaxy() / 2
   
ht textheight("W"); 

   
/*  select the off screen page for drawing */ 
   
setactivepage(1); 

   
/* draw a line on page #1 */ 
   
line(00getmaxx(), getmaxy()); 

   
/* output a message on page #1 */ 
   
settextjustify(CENTER_TEXTCENTER_TEXT); 
   
outtextxy(xy"This is page #1:"); 
   
outtextxy(xy+ht"Press any key to halt:"); 

   
/* select drawing to page #0 */ 
   
setactivepage(0); 

   
/* output a message  on page #0 */ 
   
outtextxy(xy"This is page #0."); 
   
outtextxy(xy+ht"Press any key to view page #1:"); 
   
getch(); 

   
/* select page #1 as the visible page */ 
   
setvisualpage(1); 

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

   
   

函数名setwritemode 
功  能
设置图形方式下画线的输出模式 
用  法
void far setwritemode(int mode); 
程序例

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

int main() 

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int xmaxymax

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


   
xmax getmaxx(); 
   
ymax getmaxy(); 

   
/* select XOR drawing mode */ 
   
setwritemode(XOR_PUT); 

   
/* draw a line */ 
   
line(00xmaxymax); 
   
getch(); 

   
/* erase the line by drawing over it */ 
   
line(00xmaxymax); 
   
getch(); 

   
/* select overwrite drawing mode */ 
   
setwritemode(COPY_PUT); 

   
/* draw a line */ 
   
line(00xmaxymax); 

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

   
   

函数名signal 
功  能
设置某一信号的对应动作 
用  法
int signal(int sigsigfun fname); 
程序例

/* This example installs a signal handler routine for SIGFPE, 
   catches an integer overflow condition, makes an adjustment 
   to AX register, and returns. This example program MAY cause 
   your computer to crash, and will produce runtime errors 
   depending on which memory model is used. 
*/ 

#pragma inline 
#include <stdio.h> 
#include <signal.h> 

void Catcher(int sigint typeint *reglist

   
printf("Caught it!\n"); 
   *(
reglist 8) = 3;             /* make return AX = 3 */ 


int main(void

   
signal(SIGFPECatcher); 
   
asm     mov     ax,07FFFH       /* AX = 32767 */ 
   
asm     inc     ax              /* cause overflow */ 
   
asm     into                    /* activate handler */ 

   /* The handler set AX to 3 on return. If that hadn't happened, 
      there would have been another exception when the next 'into' 
      was executed after the 'dec' instruction. */ 
   
asm     dec     ax              /* no overflow now */ 
   
asm     into                    /* doesn't activate */ 
   
return 0

   
   
   

函数名sin 
功  能
正弦函数 
用  法
double sin(double x); 
程序例

#include <stdio.h> 
#include <math.h> 

int main(void

   
double result0.5

   
result sin(x); 
   
printf("The sin() of %lf is %lf\n"xresult); 
   return 
0

   
   

函数名sinh 
功  能
双曲正弦函数 
用  法
double sinh(double x); 
程序例

#include <stdio.h> 
#include <math.h> 

int main(void

   
double result0.5

   
result sinh(x); 
   
printf("The hyperbolic sin() of %lf is %lf\n"xresult); 
   return 
0

   
   
   

函数名sleep 
功  能
执行挂起一段时间 
用  法
unsigned sleep(unsigned seconds); 
程序例

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

int main(void

   
int i

   for (
i=1i<5i++) 
   { 
      
printf("Sleeping for %d seconds\n"i); 
      
sleep(i); 
   } 
   return 
0

   
   
   

函数名sopen 
功  能
打开一共享文件 
用  法
int sopen(char *pathnameint accessint shflagint permiss); 
程序例

#include <io.h> 
#include <fcntl.h> 
#include <sys\stat.h> 
#include <process.h> 
#include <share.h> 
#include <stdio.h> 

int main(void

   
int handle
   
int status

   
handle sopen("c:\\autoexec.bat"O_RDONLYSH_DENYNOS_IREAD); 

   if (!
handle
   { 
      
printf("sopen failed\n"); 
      exit(
1); 
   } 

   
status access("c:\\autoexec.bat"6); 
   if (
status == 0
      
printf("read/write access allowed\n"); 
   else 
      
printf("read/write access not allowed\n"); 

   
close(handle); 
   return 
0

  kj501 当前离线  
旧 04-06-09, 21:44 第 20 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名sound 
功  能
以指定频率打开PC扬声器 
用  法
void sound(unsigned frequency); 
程序例

/* Emits a 7-Hz tone for 10 seconds. 
   Your PC may not be able to emit a 7-Hz tone. */ 
#include <dos.h> 

int main(void

   
sound(7); 
   
delay(10000); 
   
nosound(); 
   return 
0

   
   
   

函数名spawnl 
功  能
创建并运行子程序 
用  法
int spawnl(int modechar *pathnamechar *arg0
     
arg1, ... argnNULL); 
程序例

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

int main(void

   
int result

   
clrscr(); 
   
result spawnl(P_WAIT"tcc.exe"NULL); 
   if (
result == -1
   { 
      
perror("Error from spawnl"); 
      exit(
1); 
   } 
   return 
0

   
   

函数名spawnle 
功  能
创建并运行子程序 
用  法
int spawnle(int modechar *pathnamechar *arg0
      
arg1,..., argnNULL); 
程序例

/* spawnle() example */ 

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

int main(void

   
int result

   
clrscr(); 
   
result spawnle(P_WAIT"tcc.exe"NULLNULL); 
   if (
result == -1
   { 
      
perror("Error from spawnle"); 
      exit(
1); 
   } 
   return 
0

   
   
   

函数名sprintf 
功  能
送格式化输出到字符串中 
用  法
int sprintf(char *stringchar *farmat [,argument,...]); 
程序例

#include <stdio.h> 
#include <math.h> 

int main(void

   
char buffer[80]; 

   
sprintf(buffer"An approximation of Pi is %f\n"M_PI); 
   
puts(buffer); 
   return 
0

   
   

函数名sqrt 
功  能
计算平方根 
用  法
double sqrt(double x); 
程序例

#include <math.h> 
#include <stdio.h> 

int main(void

    
double x 4.0result

    
result sqrt(x); 
    
printf("The square root of %lf is %lf\n"xresult); 
    return 
0

   

函数名srand 
功  能
初始化随机数发生器 
用  法
void srand(unsigned seed); 
程序例

#include <stdlib.h> 
#include <stdio.h> 
#include <time.h> 

int main(void

   
int i
   
time_t t

   
srand((unsignedtime(&t)); 
   
printf("Ten random numbers from 0 to 99\n\n"); 
   for(
i=0i<10i++) 
       
printf("%d\n"rand() % 100); 
   return 
0

   
   

函数名sscanf 
功  能
执行从字符串中的格式化输入 
用  法
int sscanf(char *stringchar *format[,argument,...]); 
程序例

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

int main(void

   
char label[20]; 
   
char name[20]; 
   
int entries 0
   
int loopage
   
double salary

   
struct Entry_struct 
   

      
char  name[20]; 
      
int   age
      
float salary
   } 
entry[20]; 

/* Input a label as a string of characters restricting to 20 characters */ 
   
printf("\n\nPlease enter a label for the chart: "); 
   
scanf("%20s"label); 
   
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* Input number of entries as an integer */ 
   
printf("How many entries will there be? (less than 20) "); 
   
scanf("%d", &entries); 
   
fflush(stdin);   /* flush the input stream in case of bad input */ 

/* input a name restricting input to only letters upper or lower case */ 
   
for (loop=0;loop<entries;++loop
   { 
      
printf("Entry %d\n"loop); 
      
printf("  Name   : "); 
      
scanf("%[A-Za-z]"entry[loop].name); 
      
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input an age as an integer */ 
      
printf("  Age    : "); 
      
scanf("%d", &entry[loop].age); 
      
fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input a salary as a float */ 
      
printf("  Salary : "); 
      
scanf("%f", &entry[loop].salary); 
      
fflush(stdin); /* flush the input stream in case of bad input */ 
   


/* Input a name, age and salary as a string, integer, and double */ 
   
printf("\nPlease enter your name, age and salary\n"); 
   
scanf("%20s %d %lf"name, &age, &salary); 
   

/* Print out the data that was input */ 
   
printf("\n\nTable %s\n",label); 
   
printf("Compiled by %s  age %d  $%15.2lf\n"nameagesalary); 
   
printf("-----------------------------------------------------\n"); 
   for (
loop=0;loop<entries;++loop
      
printf("%4d | %-20s | %5d | %15.2lf\n"
         
loop 1
  
entry[loop].name
  
entry[loop].age
  
entry[loop].salary); 
   
printf("-----------------------------------------------------\n"); 
   return 
0

   
   

函数名stat 
功  能
读取打开文件信息 
用  法
int stat(char *pathnamestruct stat *buff); 
程序例

#include <sys\stat.h> 
#include <stdio.h> 
#include <time.h> 

#define FILENAME "TEST.$$$" 

int main(void

   
struct stat statbuf
   
FILE *stream

   
/* open a file for update */ 
   
if ((stream fopen(FILENAME"w+")) == NULL
   { 
      
fprintf(stderr"Cannot open output file.\n"); 
      return(
1); 
   } 

   
/* get information about the file */ 
   
stat(FILENAME, &statbuf); 

   
fclose(stream); 

   
/* display the information returned */ 
   
if (statbuf.st_mode S_IFCHR
      
printf("Handle refers to a device.\n"); 
   if (
statbuf.st_mode S_IFREG
      
printf("Handle refers to an ordinary file.\n"); 
   if (
statbuf.st_mode S_IREAD
      
printf("User has read permission on file.\n"); 
   if (
statbuf.st_mode S_IWRITE
      
printf("User has write permission on file.\n"); 

   
printf("Drive letter of file: %c\n"'A'+statbuf.st_dev); 
   
printf("Size of file in bytes: %ld\n"statbuf.st_size); 
   
printf("Time file last opened: %s\n"ctime(&statbuf.st_ctime)); 
   return 
0

   
   
   

函数名_status87 
功  能
取浮点状态 
用  法
unsigned int _status87(void); 
程序例

#include <stdio.h> 
#include <float.h> 

int main(void

   
float x
   
double y 1.5e-100

   
printf("Status 87 before error: %x\n"_status87()); 

   
y;  /* <-- force an error to occur */ 
   
x

   
printf("Status 87 after error : %x\n"_status87()); 
   return 
0

   
   

函数名stime 
功  能
设置时间 
用  法
int stime(long *tp); 
程序例

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

int main(void

   
time_t t
   
struct tm *area

   
time(NULL); 
   
area localtime(&t); 
   
printf("Number of seconds since 1/1/1970 is: %ld\n"t); 
   
printf("Local time is: %s"asctime(area)); 

   
t++; 
   
area localtime(&t); 
   
printf("Add a second:  %s"asctime(area)); 

   
+= 60
   
area localtime(&t); 
   
printf("Add a minute:  %s"asctime(area)); 

   
+= 3600
   
area localtime(&t); 
   
printf("Add an hour:   %s"asctime(area)); 

   
+= 86400L
   
area localtime(&t); 
   
printf("Add a day:     %s"asctime(area)); 

   
+= 2592000L
   
area localtime(&t); 
   
printf("Add a month:   %s"asctime(area)); 

   
+= 31536000L
   
area localtime(&t); 
   
printf("Add a year:    %s"asctime(area)); 
   return 
0

   
   
   

函数名stpcpy 
功  能
拷贝一个字符串到另一个 
用  法
char *stpcpy(char *destinchar *source); 
程序例

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

int main(void

   
char string[10]; 
   
char *str1 "abcdefghi"

   
stpcpy(stringstr1); 
   
printf("%s\n"string); 
   return 
0

   
   
   

函数名strcat 
功  能
字符串拼接函数 
用  法
char *strcat(char *destinchar *source); 
程序例

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

int main(void

   
char destination[25]; 
   
char *blank " ", *"C++", *Borland "Borland"

   
strcpy(destinationBorland); 
   
strcat(destinationblank); 
   
strcat(destinationc); 

   
printf("%s\n"destination); 
   return 
0

   
   
   

函数名strchr 
功  能
在一个串中查找给定字符的第一个匹配之处 
用  法
char *strchr(char *strchar c); 
程序例

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

int main(void

    
char string[15]; 
    
char *ptr'r'

    
strcpy(string"This is a string"); 
    
ptr strchr(stringc); 
    if (
ptr
       
printf("The character %c is at position: %d\n"cptr-string); 
    else 
       
printf("The character was not found\n"); 
    return 
0

   
   
   

函数名strcmp 
功  能
串比较 
用  法
int strcmp(char *str1char *str2); 
程序例

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

int main(void

    
char *buf1 "aaa", *buf2 "bbb", *buf3 "ccc"
    
int ptr

    
ptr strcmp(buf2buf1); 
    if (
ptr 0
       
printf("buffer 2 is greater than buffer 1\n"); 
    else 
       
printf("buffer 2 is less than buffer 1\n"); 

    
ptr strcmp(buf2buf3); 
    if (
ptr 0
       
printf("buffer 2 is greater than buffer 3\n"); 
    else 
       
printf("buffer 2 is less than buffer 3\n"); 

    return 
0

   
   
   

函数名strncmpi 
功  能
将一个串中的一部分与另一个串比较不管大小写 
用  法
int strncmpi(char *str1char *str2unsigned maxlen); 
程序例

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

int main(void

   
char *buf1 "BBB", *buf2 "bbb"
   
int ptr

   
ptr strcmpi(buf2buf1); 

   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 

   if (
ptr 0
      
printf("buffer 2 is less than buffer 1\n"); 

   if (
ptr == 0
      
printf("buffer 2 equals buffer 1\n"); 

   return 
0

   
   
   

函数名strcpy 
功  能
串拷贝 
用  法
char *strcpy(char *str1char *str2); 
程序例

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

int main(void

    
char string[10]; 
    
char *str1 "abcdefghi"

    
strcpy(stringstr1); 
    
printf("%s\n"string); 
    return 
0

   
   
   

函数名strcspn 
功  能
在串中查找第一个给定字符集内容的段 
用  法
int strcspn(char *str1char *str2); 
程序例

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

int main(void

    
char *string1 "1234567890"
    
char *string2 "747DC8"
    
int length

    
length strcspn(string1string2); 
    
printf("Character where strings intersect is at position %d\n"length); 

    return 
0

   
   
   

函数名strdup 
功  能
将串拷贝到新建的位置处 
用  法
char *strdup(char *str); 
程序例

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

int main(void

    
char *dup_str, *string "abcde"

    
dup_str strdup(string); 
    
printf("%s\n"dup_str); 
    
free(dup_str); 

    return 
0

   
   
   

函数名stricmp 
功  能
以大小写不敏感方式比较两个串 
用  法
int stricmp(char *str1char *str2); 
程序例

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

int main(void

   
char *buf1 "BBB", *buf2 "bbb"
   
int ptr

   
ptr stricmp(buf2buf1); 

   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 

   if (
ptr 0
      
printf("buffer 2 is less than buffer 1\n"); 

   if (
ptr == 0
      
printf("buffer 2 equals buffer 1\n"); 

   return 
0

   
   

函数名strerror 
功  能
返回指向错误信息字符串的指针 
用  法
char *strerror(int errnum); 
程序例

#include <stdio.h> 
#include <errno.h> 

int main(void

   
char *buffer
   
buffer strerror(errno); 
   
printf("Error: %s\n"buffer); 
   return 
0

   
   
   

函数名strcmpi 
功  能
将一个串与另一个比较不管大小写 
用  法
int strcmpi(char *str1char *str2); 
程序例

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

int main(void

   
char *buf1 "BBB", *buf2 "bbb"
   
int ptr

   
ptr strcmpi(buf2buf1); 

   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 

   if (
ptr 0
      
printf("buffer 2 is less than buffer 1\n"); 

   if (
ptr == 0
      
printf("buffer 2 equals buffer 1\n"); 

   return 
0

   
   
   

函数名strncmp 
功  能
串比较 
用  法
int strncmp(char *str1char *str2int maxlen); 
程序例

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

int  main(void


   
char *buf1 "aaabbb", *buf2 "bbbccc", *buf3 "ccc"
   
int ptr

   
ptr strncmp(buf2,buf1,3); 
   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 
   else 
      
printf("buffer 2 is less than buffer 1\n"); 

   
ptr strncmp(buf2,buf3,3); 
   if (
ptr 0
      
printf("buffer 2 is greater than buffer 3\n"); 
   else 
      
printf("buffer 2 is less than buffer 3\n"); 

   return(
0); 

   
   

函数名strncmpi 
功  能
把串中的一部分与另一串中的一部分比较不管大小写 
用  法
int strncmpi(char *str1char *str2); 
程序例

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

int main(void

   
char *buf1 "BBBccc", *buf2 "bbbccc"
   
int ptr

   
ptr strncmpi(buf2,buf1,3); 

   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 

   if (
ptr 0
      
printf("buffer 2 is less than buffer 1\n"); 

   if (
ptr == 0
      
printf("buffer 2 equals buffer 1\n"); 

   return 
0

   
   

函数名strncpy 
功  能
串拷贝 
用  法
char *strncpy(char *destinchar *sourceint maxlen); 
程序例

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

int main(void

   
char string[10]; 
   
char *str1 "abcdefghi"

   
strncpy(stringstr13); 
   
string[3] = '\0'
   
printf("%s\n"string); 
   return 
0

   
   

函数名strnicmp 
功  能
不注重大小写地比较两个串 
用  法
int strnicmp(char *str1char *str2unsigned maxlen); 
程序例

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

int main(void

   
char *buf1 "BBBccc", *buf2 "bbbccc"
   
int ptr

   
ptr strnicmp(buf2buf13); 

   if (
ptr 0
      
printf("buffer 2 is greater than buffer 1\n"); 

   if (
ptr 0
      
printf("buffer 2 is less than buffer 1\n"); 

   if (
ptr == 0
      
printf("buffer 2 equals buffer 1\n"); 

   return 
0

   
   
   

函数名strnset 
功  能
将一个串中的所有字符都设为指定字符 
用  法
char *strnset(char *strchar chunsigned n); 
程序例

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

int main(void

   
char *string "abcdefghijklmnopqrstuvwxyz"
   
char letter 'x'

   
printf("string before strnset: %s\n"string); 
   
strnset(stringletter13); 
   
printf("string after  strnset: %s\n"string); 

   return 
0

   
   

函数名strpbrk 
功  能
在串中查找给定字符集中的字符 
用  法
char *strpbrk(char *str1char *str2); 
程序例

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

int main(void

   
char *string1 "abcdefghijklmnopqrstuvwxyz"
   
char *string2 "onm"
   
char *ptr

   
ptr strpbrk(string1string2); 

   if (
ptr
      
printf("strpbrk found first character: %c\n", *ptr); 
   else 
      
printf("strpbrk didn't find character in set\n"); 

   return 
0

   
   
   

函数名strrchr 
功  能
在串中查找指定字符的最后一个出现 
用  法
char *strrchr(char *strchar c); 
程序例

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

int main(void

   
char string[15]; 
   
char *ptr'r'

   
strcpy(string"This is a string"); 
   
ptr strrchr(stringc); 
   if (
ptr
      
printf("The character %c is at position: %d\n"cptr-string); 
   else 
      
printf("The character was not found\n"); 
   return 
0

   
   
   

函数名strrev 
功  能
串倒转 
用  法
char *strrev(char *str); 
程序例

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

int main(void

   
char *forward "string"

   
printf("Before strrev(): %s\n"forward); 
   
strrev(forward); 
   
printf("After strrev():  %s\n"forward); 
   return 
0

   

函数名strset 
功  能
将一个串中的所有字符都设为指定字符 
用  法
char *strset(char *strchar c); 
程序例

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

int main(void

   
char string[10] = "123456789"
   
char symbol 'c'

   
printf("Before strset(): %s\n"string); 
   
strset(stringsymbol); 
   
printf("After strset():  %s\n"string); 
   return 
0

   
   
   

函数名strspn 
功  能
在串中查找指定字符集的子集的第一次出现 
用  法
int strspn(char *str1char *str2); 
程序例

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

int main(void

   
char *string1 "1234567890"
   
char *string2 "123DC8"
   
int length

   
length strspn(string1string2); 
   
printf("Character where strings differ is at position %d\n"length); 
   return 
0

   
   

函数名strstr 
功  能
在串中查找指定字符串的第一次出现 
用  法
char *strstr(char *str1char *str2); 
程序例

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

int main(void

   
char *str1 "Borland International", *str2 "nation", *ptr

   
ptr strstr(str1str2); 
   
printf("The substring is: %s\n"ptr); 
   return 
0

   
   

函数名strtod 
功  能
将字符串转换为double型值 
用  法
double strtod(char *strchar **endptr); 
程序例

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

int main(void

   
char input[80], *endptr
   
double value

   
printf("Enter a floating point number:"); 
   
gets(input); 
   
value strtod(input, &endptr); 
   
printf("The string is %s the number is %lf\n"inputvalue); 
   return 
0

   
   
   

函数名strtok 
功  能
查找由在第二个串中指定的分界符分隔开的单词 
用  法
char *strtok(char *str1char *str2); 
程序例

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

int main(void

   
char input[16] = "abc,d"
   
char *p

   
/* strtok places a NULL terminator 
   in front of the token, if found */ 
   
strtok(input","); 
   if (
p)   printf("%s\n"p); 

   
/* A second call to strtok using a NULL 
   as the first parameter returns a pointer 
   to the character following the token  */ 
   
strtok(NULL","); 
   if (
p)   printf("%s\n"p); 
   return 
0

   
   
   

函数名strtol 
功  能
将串转换为长整数 
用  法
long strtol(char *strchar **endptrint base); 
程序例

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

int main(void

   
char *string "87654321", *endptr
   
long lnumber

   
/* strtol converts string to long integer  */ 
   
lnumber strtol(string, &endptr10); 
   
printf("string = %s  long = %ld\n"stringlnumber); 

   return 
0

   

函数名strupr 
功  能
将串中的小写字母转换为大写字母 
用  法
char *strupr(char *str); 
程序例

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

int main(void

   
char *string "abcdefghijklmnopqrstuvwxyz", *ptr

   
/* converts string to upper case characters */ 
   
ptr strupr(string); 
   
printf("%s\n"ptr); 
   return 
0

   
   
   

函数名swab 
功  能
交换字节 
用  法
void swab (char *fromchar *toint nbytes); 
程序例

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

char source[15] = "rFna koBlrna d"
char target[15]; 

int main(void

   
swab(sourcetargetstrlen(source)); 
   
printf("This is target: %s\n"target); 
   return 
0

   
   
   

函数名system 
功  能
发出一个DOS命令 
用  法
int system(char *command); 
程序例

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

int main(void

   
printf("About to spawn command.com and run a DOS command\n"); 
   
system("dir"); 
   return 
0

  kj501 当前离线  
旧 04-06-09, 21:46 第 21 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名tan 
功  能
正切函数 
用  法
double tan(double x); 
程序例

#include <stdio.h> 
#include <math.h> 

int main(void

   
double resultx

   
0.5
   
result tan(x); 
   
printf("The tan of %lf is %lf\n"xresult); 
   return 
0

   
   
   

函数名tanh 
功  能
双曲正切函数 
用  法
double tanh(double x); 
程序例

#include <stdio.h> 
#include <math.h> 

int main(void

   
double resultx

   
0.5
   
result tanh(x); 
   
printf("The hyperbolic tangent of %lf is %lf\n"xresult); 
   return 
0

   
   
   
   

函数名tell 
功  能
取文件指针的当前位置 
用  法
long tell(int handle); 
程序例

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

int main(void

   
int handle
   
char msg[] = "Hello world"

   if ((
handle open("TEST.$$$"O_CREAT O_TEXT O_APPEND)) == -1
   { 
      
perror("Error:"); 
      return 
1
   } 
   
write(handlemsgstrlen(msg)); 
   
printf("The file pointer is at byte %ld\n"tell(handle)); 
   
close(handle); 
   return 
0

   
   
   
   

函数名textattr 
功  能
设置文本属性 
用  法
void textattr(int attribute); 
程序例

#include <conio.h> 

int main(void

   
int i

   
clrscr(); 
   for (
i=0i<9i++) 
   { 
       
textattr(+ ((i+1) << 4)); 
       
cprintf("This is a test\r\n"); 
   } 

   return 
0

   
   
   

函数名textbackground 
功  能
选择新的文本背景颜色 
用  法
void textbackground(int color); 
程序例

#include <conio.h> 

int main(void

   
int ij

   
clrscr(); 
   for (
i=0i<9i++) 
   { 
       for (
j=0j<80j++) 
         
cprintf("C"); 
       
cprintf("\r\n"); 
       
textcolor(i+1); 
       
textbackground(i); 
   } 

   return 
0

   
   
   

函数名textcolor 
功  能
在文本模式中选择新的字符颜色 
用  法
void textcolor(int color); 
程序例
#include <conio.h> 

int main(void

   
int i

   for (
i=0i<15i++) 
   { 
       
textcolor(i); 
       
cprintf("Foreground Color\r\n"); 
   } 

   return 
0

   
   
   

函数名textheight 
功  能
返回以像素为单位的字符串高度 
用  法
int far textheight(char far *textstring); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int y 0
   
int i
   
char msg[80]; 

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


   
/* draw some text on the screen */ 
   
for (i=1i<11i++) 
   { 
      
/* select the text style, direction, and size */ 
      
settextstyle(TRIPLEX_FONTHORIZ_DIRi); 

      
/* create a message string */ 
      
sprintf(msg"Size: %d"i); 

      
/* output the message */ 
      
outtextxy(1ymsg); 

      
/* advance to the next text line */ 
      
+= textheight(msg); 
   } 

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

   
   
   

函数名textmode 
功  能
将屏幕设置成文本模式 
用  法
void textmode(int mode); 
程序例

#include <conio.h> 

int main(void

   
textmode(BW40); 
   
cprintf("ABC"); 
   
getch(); 

   
textmode(C40); 
   
cprintf("ABC"); 
   
getch(); 

   
textmode(BW80); 
   
cprintf("ABC"); 
   
getch(); 

   
textmode(C80); 
   
cprintf("ABC"); 
   
getch(); 

   
textmode(MONO); 
   
cprintf("ABC"); 
   
getch(); 

   return 
0

   
   

函数名textwidth 
功  能
返回以像素为单位的字符串宽度 
用  法
int far textwidth(char far *textstring); 
程序例

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

int main(void

   
/* request auto detection */ 
   
int gdriver DETECTgmodeerrorcode
   
int x 00
   
int i
   
char msg[80]; 

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


   
getmaxy() / 2

   
settextjustify(LEFT_TEXTCENTER_TEXT); 
   for (
i=1i<11i++) 
   { 
      
/* select the text style, direction, and size */ 
      
settextstyle(TRIPLEX_FONTHORIZ_DIRi); 

      
/* create a message string */ 
      
sprintf(msg"Size: %d"i); 

      
/* output the message */ 
      
outtextxy(xymsg); 

      
/* advance to the end of the text */ 
      
+= textwidth(msg); 
   } 

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

   
   

函数名time 
功  能
取一天的时间 
用  法
logn time(long *tloc); 
程序例

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

int main(void

   
time_t t

   
time(NULL); 
   
printf("The number of seconds since January 1, 1970 is %ld",t); 
   return 
0

   
   
   

函数名tmpfile 
功  能
以二进制方式打开暂存文件 
用  法
FILE *tmpfile(void); 
程序例

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

int main(void

   
FILE *tempfp

   
tempfp tmpfile(); 
   if (
tempfp
      
printf("Temporary file created\n"); 
   else 
   { 
      
printf("Unable to create temporary file\n"); 
      exit(
1); 
   } 

   return 
0

   
   
   

函数名tmpnam 
功  能
创建一个唯一的文件名 
用  法
char *tmpnam(char *sptr); 
程序例

#include <stdio.h> 

int main(void

   
char name[13]; 

   
tmpnam(name); 
   
printf("Temporary name: %s\n"name); 
   return 
0

   
   
   

函数名tolower 
功  能
把字符转换成小写字母 
用  法
int tolower(int c); 
程序例

#include <string.h> 
#include <stdio.h> 
#include <ctype.h> 

int main(void

   
int lengthi
   
char *string "THIS IS A STRING"

   
length strlen(string); 
   for (
i=0i<lengthi++) 
   { 
       
string[i] = tolower(string[i]); 
   } 
   
printf("%s\n",string); 

   return 
0

   
   

函数名toupper 
功  能
把字符转换成大写字母 
用  法
int toupper(int c); 
程序例

#include <string.h> 
#include <stdio.h> 
#include <ctype.h> 

int main(void

   
int lengthi
   
char *string "this is a string"

   
length strlen(string); 
   for (
i=0i<lengthi++) 
   { 
      
string[i] = toupper(string[i]); 
   } 

   
printf("%s\n",string); 

   return 
0

   
   

函数名tzset 
功  能
UNIX时间兼容函数 
用  法
void tzset(void); 
程序例

#include <time.h> 
#include <stdlib.h> 
#include <stdio.h> 

int main(void

   
time_t td

   
putenv("TZ=PST8PDT"); 
   
tzset(); 
   
time(&td); 
   
printf("Current time = %s\n"asctime(localtime(&td))); 
   return 
0

  kj501 当前离线  
旧 04-06-09, 21:46 第 22 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
 函数名ultoa 
功  能
转换一个无符号长整型数为字符串 
用  法
char *ultoa(unsigned long valuechar *stringint radix); 
程序例

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

int mainvoid 

   
unsigned long lnumber 3123456789L
   
char string[25]; 

   
ultoa(lnumber,string,10); 
   
printf("string = %s  unsigned long = %lu\n",string,lnumber); 

   return 
0

   
   
   

函数名ungetc 
功  能
把一个字符退回到输入流中 
用  法
int ungetc(char cFILE *stream); 
程序例

#include <stdio.h> 
#include <ctype.h> 

int mainvoid 

   
int i=0
   
char ch

   
puts("Input an integer followed by a char:"); 

   
/* read chars until non digit or EOF */ 
   
while((ch getchar()) != EOF && isdigit(ch)) 
      
10 ch 48/* convert ASCII into int value */ 

   /* if non digit char was read, push it back into input buffer */ 
   
if (ch != EOF
      
ungetc(chstdin); 

   
printf("i = %d, next char in buffer = %c\n"igetchar()); 
   return 
0

   
   
   

函数名ungetch 
功  能
把一个字符退回到键盘缓冲区中 
用  法
int ungetch(int c); 
程序例

#include <stdio.h> 
#include <ctype.h> 
#include <conio.h> 

int mainvoid 

   
int i=0
   
char ch

   
puts("Input an integer followed by a char:"); 

   
/* read chars until non digit or EOF */ 
   
while((ch getche()) != EOF && isdigit(ch)) 
      
10 ch 48/* convert ASCII into int value */ 

   /* if non digit char was read, push it back into input buffer */ 
   
if (ch != EOF
      
ungetch(ch); 

   
printf("\n\ni = %d, next char in buffer = %c\n"igetch()); 
   return 
0

   
   
   

函数名unixtodos 
功  能
把日期和时间转换成DOS格式 
用  法
void unixtodos(long utimestruct date *dateptr
   
struct time *timeptr); 
程序例

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

char *month[] = {"---""Jan""Feb""Mar""Apr""May""Jun"
                 
"Jul""Aug""Sep""Oct""Nov""Dec"}; 

#define SECONDS_PER_DAY 86400L  /* the number of seconds in one day */ 

struct date dt
struct time tm

int main(void

   
unsigned long val

/* get today's date and time */ 
   
getdate(&dt); 
   
gettime(&tm); 
   
printf("today is %d %s %d\n"dt.da_daymonth[dt.da_mon], dt.da_year); 

/* convert date and time to unix format (number of seconds since Jan 1, 1970 */ 
   
val dostounix(&dt, &tm); 
/* subtract 42 days worth of seconds */ 
   
val -= (SECONDS_PER_DAY 42); 

/* convert back to dos time and date */ 
   
unixtodos(val, &dt, &tm); 
   
printf("42 days ago it was %d %s %d\n"
        
dt.da_daymonth[dt.da_mon], dt.da_year); 
   return 
0

   
   
   

函数名unlink 
功  能
删掉一个文件 
用  法
int unlink(char *filename); 
程序例

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

int main(void

   
FILE *fp fopen("junk.jnk","w"); 
   
int status

   
fprintf(fp,"junk"); 

   
status access("junk.jnk",0); 
   if (
status == 0
      
printf("File exists\n"); 
   else 
      
printf("File doesn't exist\n"); 

   
fclose(fp); 
   
unlink("junk.jnk"); 
   
status access("junk.jnk",0); 
   if (
status == 0
      
printf("File exists\n"); 
   else 
      
printf("File doesn't exist\n"); 
   

   return 
0

   
   
   

函数名unlock 
功  能
解除文件共享锁 
用  法
int unlock(int handlelong offsetlong length); 
程序例

#include <io.h> 
#include <fcntl.h> 
#include <sys\stat.h> 
#include <process.h> 
#include <share.h> 
#include <stdio.h> 

int main(void

   
int handlestatus
   
long length

   
handle sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); 

   if (
handle 0
   { 
       
printf("sopen failed\n"); 
       exit(
1); 
   } 

   
length filelength(handle); 
   
status lock(handle,0L,length/2); 

   if (
status == 0
      
printf("lock succeeded\n"); 
   else 
      
printf("lock failed\n"); 

   
status unlock(handle,0L,length/2); 

   if (
status == 0
      
printf("unlock succeeded\n"); 
   else 
      
printf("unlock failed\n"); 

   
close(handle); 
   return 
0

  kj501 当前离线  
旧 04-06-09, 21:47 第 23 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名vfprintf 
功  能
送格式化输出到一流中 
用  法
int vfprintf(FILE *streamchar *formatva_list param); 
程序例

#include <stdio.h> 
#include <stdlib.h> 
#include <stdarg.h> 

FILE *fp

int vfpf(char *fmt, ...) 

   
va_list argptr
   
int cnt

   
va_start(argptrfmt); 
   
cnt vfprintf(fpfmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber 30
   
float fnumber 90.0
   
char string[4] = "abc"

   
fp tmpfile(); 
   if (
fp == NULL
   { 
      
perror("tmpfile() call"); 
      exit(
1); 
   } 

   
vfpf("%d %f %s"inumberfnumberstring); 
   
rewind(fp); 
   
fscanf(fp,"%d %f %s", &inumber, &fnumberstring); 
   
printf("%d %f %s\n"inumberfnumberstring); 
   
fclose(fp); 

   return 
0

   
   
   

函数名vfscanf 
功  能
从流中执行格式化输入 
用  法
int vfscanf(FILE *streamchar *formatva_list param); 
程序例

#include <stdio.h> 
#include <stdlib.h> 
#include <stdarg.h> 

FILE *fp

int vfsf(char *fmt, ...) 

   
va_list  argptr
   
int cnt

   
va_start(argptrfmt); 
   
cnt vfscanf(fpfmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber 30
   
float fnumber 90.0
         
char string[4] = "abc"

   
fp tmpfile(); 
   if (
fp == NULL
   { 
      
perror("tmpfile() call"); 
      exit(
1); 
   } 
   
fprintf(fp,"%d %f %s\n",inumber,fnumber,string); 
   
rewind(fp); 

   
vfsf("%d %f %s",&inumber,&fnumber,string); 
   
printf("%d %f %s\n",inumber,fnumber,string); 
   
fclose(fp); 

   return 
0

   
   

函数名vprintf 
功  能
送格式化输出到stdout中 
用  法
int vprintf(char *formatva_list param); 
程序例

#include <stdio.h> 
#include <stdarg.h> 

int vpf(char *fmt, ...) 

   
va_list argptr
   
int cnt

   
va_start(argptrformat); 
   
cnt vprintf(fmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber 30
   
float fnumber 90.0
   
char *string "abc"

   
vpf("%d %f %s\n",inumber,fnumber,string); 

   return 
0

   
   

函数名vscanf 
功  能
从stdin中执行格式化输入 
用  法
int vscanf(char *formatva_list param); 
程序例

#include <stdio.h> 
#include <conio.h> 
#include <stdarg.h> 

int vscnf(char *fmt, ...) 

   
va_list argptr
   
int cnt

   
printf("Enter an integer, a float,  and a string (e.g. i,f,s,)\n"); 
   
va_start(argptrfmt); 
   
cnt vscanf(fmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber
   
float fnumber
   
char string[80]; 

   
vscnf("%d, %f, %s", &inumber, &fnumberstring); 
   
printf("%d %f %s\n"inumberfnumberstring); 

   return 
0

   
   
   

函数名vsprintf 
功  能
送格式化输出到串中 
用  法
int vsprintf(char *stringchar *formatva_list param); 
程序例

#include <stdio.h> 
#include <conio.h> 
#include <stdarg.h> 

char buffer[80]; 

int vspf(char *fmt, ...) 

   
va_list argptr
   
int cnt

   
va_start(argptrfmt); 
   
cnt vsprintf(bufferfmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber 30
   
float fnumber 90.0
   
char string[4] = "abc"

   
vspf("%d %f %s"inumberfnumberstring); 
   
printf("%s\n"buffer); 
   return 
0

   
   
   

函数名vsscanf 
功  能
从流中执行格式化输入 
用  法
int vsscanf(char *schar *formatva_list param); 
程序例

#include <stdio.h> 
#include <conio.h> 
#include <stdarg.h> 

char buffer[80] = "30 90.0 abc"

int vssf(char *fmt, ...) 

   
va_list  argptr
   
int cnt

   
fflush(stdin); 

   
va_start(argptrfmt); 
   
cnt vsscanf(bufferfmtargptr); 
   
va_end(argptr); 

   return(
cnt); 


int main(void

   
int inumber
   
float fnumber
   
char string[80]; 

   
vssf("%d %f %s", &inumber, &fnumberstring); 
   
printf("%d %f %s\n"inumberfnumberstring); 
   return 
0

  kj501 当前离线  
旧 04-06-09, 21:48 第 24 帖
kj501
 
kj501 的头像
 
 
★☆版★主☆★  
  注册日期: Sep 2002
  我的住址: 贵州贵阳
  帖子: 5,317
  精华: 36
 

PHP 代码:
函数名wherex
功  能
返回窗口内水平光标位置
用  法
int wherex(void);
程序例

#include <conio.h> 

int main(void)
{
   
clrscr();
   
gotoxy(10,10);
   
cprintf("Current location is X: %d  Y: %d\r\n"wherex(), wherey());
   
getch(); 

   return 
0;
}
 
 
   

函数名wherey
功  能
返回窗口内垂直光标位置
用  法
int wherey(void);
程序例

#include <conio.h> 

int main(void)
{
   
clrscr();
   
gotoxy(10,10);
   
cprintf("Current location is X: %d  Y: %d\r\n"wherex(), wherey());
   
getch(); 

   return 
0;
}
 
 
   

函数名window
功  能
定义活动文本模式窗口
用  法
void window(int leftint topint rightint bottom);
程序例

#include <conio.h> 

int main(void)


   
window(10,10,40,11);
   
textcolor(BLACK);
   
textbackground(WHITE);
   
cprintf("This is a test\r\n"); 

   return 
0;
}
 
 
   

函数名write
功  能
写到一文件中
用  法
int write(int handelvoid *bufint nbyte);
程序例

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys\stat.h>
#include <io.h>
#include <string.h> 

int main(void)
{
   
int handle;
   
char string[40];
   
int lengthres

   
/*
    Create a file named "TEST.$$$" in the current directory and write
    a string to it.  If "TEST.$$$" already exists, it will be overwritten.
   */ 

   
if ((handle open("TEST.$$$"O_WRONLY O_CREAT O_TRUNC,
                         
S_IREAD S_IWRITE)) == -1)
   {
      
printf("Error opening file.\n");
      exit(
1);
   } 

   
strcpy(string"Hello, world!\n");
   
length strlen(string); 

   if ((
res write(handlestringlength)) != length)
   {
      
printf("Error writing to the file.\n");
      exit(
1);
   }
   
printf("Wrote %d bytes to the file.\n"res); 

   
close(handle);
   return 
0;

  kj501 当前离线  
发表新主题 关闭主题


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 17:38


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org