常用的库函数
函数名: abort
功 能
异常终止一个进程
函数与形参类型
void abort(void);程序例
:#include <stdio.h>
#include < stdlib.h > int main(void)
{
printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}
函数名: ab
功 能
计算整数num的值。返回整数num的 绝对值函数与参数类型
int abs(num)int num;
程序例
#include <stdio.h>#include < math.h > int main(void)
{
int number = -1234; printf("number: %d absolute value: %d\n", number, abs(number));
return 0;
}
函数名: absread, abswirte
功 能
绝对磁盘扇区读、写数据函数与形参类型
int absread(int drive, int nsects, int sectno, void *buffer);int abswrite (int drive, int nsects, in tsectno, void *buffer);
程序例
/* absread example */ #include <stdio.h>#include < conio.h >
#include < process.h >
#include <dos.h> int main(void)
{
int i, strt, ch_out, sector;
char buf[512]; printf("Insert a diskette into drive A and press any key\n");
getch();
sector = 0;
if ( absread (0, 1, sector, &buf) != 0)
{
perror("Disk problem");
exit(1);
}
printf("Read OK\n");
strt = 3;
for (i=0; i<80; i++)
{
ch_out = buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);
}
函数名: acce
功 能
确定文件的访问权限函数与形参类型
int access(const char *filename, int amode);程序例
#include <stdio.h>#include <io.h> int file_exists (char *filename); int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
} int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
函数名: aco
功 能
计算并返回arccos(x)值、要求-1<=X<=1函数与形参类型
double acos(x)double x;
程序例
#include <stdio.h>#include <math.h> int main(void)
{
double result;
double x = 0.5; result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}
函数名: allocmem
功 能
分配DOS存储段函数与形参类型
int allocmem (unsigned size, unsigned *seg);程序例
#include <dos.h>#include <alloc.h>
#include <stdio.h> int main(void)
{
unsigned int size, segp;
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 %u\n",
stat); return 0;
}
函数名: arc
功 能
画一弧线函数与形参类型
void far arc(int x, int y, int stangle, int endangle, int radius);程序例
#include < graphics.h >#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
int stangle = 45, endangle = 135;
int radius = 100; /* initialize graphics and local variables */
initgraph(&gdriver, &gmode, ""); /* read result of initialization */
errorcode = graphresult(); /* an error occurred */
if (errorcode != grOk)
{
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()); /* draw arc */
arc(midx, midy, stangle, endangle, radius); /* clean up */
getch();
closegraph();
return 0;
}
函数名: asctime
功 能
转换日期和时间为ASCII码函数与形参类型
char *asctime(const struct tm *tblock);程序例
#include <stdio.h>#include < string.h >
#include <time.h> int main(void)
{
struct tm t;
char str[80]; /* sample loading of tm structure */ t. tm_sec = 1; /* Seconds */
t. tm_min = 30; /* Minutes */
t. tm_hour = 9; /* Hour */
t. tm_mday = 22; /* Day of the Month */
t. tm_mon = 11; /* Month */
t. tm_year = 56; /* Year - does not include century */
t. tm_wday = 4; /* Day of the week */
t. tm_yday = 0; /* Does not show in asctime */
t. tm_isdst = 0; /* Is Daylight SavTime; does not show in asctime */ /* converts structure to null terminated
string */ strcpy(str, asctime(&t));
printf("%s\n", str); return 0;
}
函数名: asin
功 能: 计算并返回arcsin(x)值、要求-1<=X<=1函数与 形参 类型: double asin(x)
double x;
程序例:
#include <stdio.h>
#include <math.h> int main(void)
{
double result;
double x = 0.5; result = asin(x);
printf("The arc sin of %lf is %lf\n", x, result);
return(0);
}
函数名: assert
功 能
测试一个条件并可能使程序终止函数与形参类型
void assert(int test);程序例
#include < assert.h >#include <stdio.h>
#include <stdlib.h> struct ITEM {
int key;
int value;
}; /* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
} int main(void)
{
additem(NULL);
return 0;
}
函数名: atan
功 能
计算并返回arctan(x)的值函数与形参类型
double atan(double x);程序例
#include <stdio.h>#include <math.h> int main(void)
{
double result;
double x = 0.5; result = atan(x);
printf("The arc tangent of %lf is %lf\n", x, result);
return(0);
}
函数名: atan2
功 能
计算并返回arctan(x/y)值函数与形参类型
double atan2(double y, double x);程序例
#include <stdio.h>#include <math.h> int main(void)
{
double result;
double x = 90.0, y = 45.0; result = atan2(y, x);
printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);
return 0;
}
函数名: atexit
功 能
注册终止函数函数与形参类型
int atexit(atexit_t func);程序例
#include <stdio.h>#include <stdlib.h> void exit_fn1(void)
{
printf("Exit function #1 called\n");
} void exit_fn2(void)
{
printf("Exit function #2 called\n");
} int main(void)
{
/* post exit function #1 */
atexit(exit_fn1);
/* post exit function #2 */
atexit(exit_fn2);
return 0;
}
函数名: atof
功 能
把str指向的ASCⅡ字符串转换成一个double型整数返回双精度的结果函数与形参类型
double atof(str)char*str;
程序例
#include <stdlib.h>#include <stdio.h> int main(void)
{
float f;
char *str = "12345.67"; f = atof(str);
printf("string = %s float = %f\n", str, f);
return 0;
}
函数名: atoi
功 能
把str指向的ASCⅡz字符串转换成一个整数。返回整数结果函数与参数类型
double atoi(str )char *str;
程序例
#include <stdlib.h>#include <stdio.h> int main(void)
{
int n;
char *str = "12345.67"; n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
函数名: atol
功 能
把字符串转换成长整型数 。返回长整数结果函数与参数类型
long atol(str )char *str;
程序例
#include <stdlib.h>#include <stdio.h> int main(void)
{
long l;
char *str = ""; l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}
函数名: mkdir
功 能
建立一个目录用 法
int mkdir(char *pathname);程序例
#include <stdio.h>#include <conio.h>
#include <process.h>
#include <dir.h>
int main(void)
{
int status;
clrscr();
status = mkdir("asdfjklm");
(!status) ? (printf("Directory created\n")) :
(printf("Unable to create directory\n"));
getch();
system("dir");
getch();
status = rmdir("asdfjklm");
(!status) ? (printf("Directory deleted\n")) :
(perror("Unable to delete directory"));
return 0;
}
函数名: mktemp
功 能
建立唯一的文件名用 法
char *mktemp(char *template);程序例
#include <dir.h>#include <stdio.h>
int main(void)
{
/* fname defines the template for the
temporary file. */
char *fname = "TXXXXXX", *ptr;
ptr = mktemp (fname);
printf("%s\n",ptr);
return 0;
}
函数名: MK_FP
功 能
设置一个远指针用 法
void far *MK_FP(unsigned seg, unsigned off);程序例
#include <dos.h>#include <graphics.h>
int main(void)
{
int gd, gm, i;
unsigned int far *screen;
detectgraph(&gd, &gm);
if (gd == HERCMONO)
screen = MK_FP (0xB000, 0);
else
screen = MK_FP(0xB800, 0);
for (i=0; i<26; i++)
screen[i] = 0x0700 + ('a' + i);
return 0;
}
函数名: modf
功 能
把数分为指数和尾数用 法
double modf(double value, double *iptr);程序例
#include <math.h>#include <stdio.h>
int main(void)
{
double fraction, integer;
double number = .567;
fraction = modf(number, &integer);
printf("The whole and fractional parts of %lf are %lf and %lf\n",
number, integer, fraction);
return 0;
}
函数名: movedata
功 能
拷贝字节用 法
void movedata(int segsrc, int offsrc, int segdest,int offdest, unsigned numbytes);
程序例 #include <mem.h>
#define MONO_BASE 0xB000
/* saves the contents of the monochrome screen in buffer */
void save_mono_screen(char near *buffer)
{
movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);
}
int main(void)
{
char buf[80*25*2];
save_mono_screen(buf);
}
函数名: moverel
功 能
将当前位置(CP)移动一相对距离用 法
void far moverel(int dx, int dy);程序例
#include <graphics.h>#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
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 */
}
/* move the C.P. to location (20, 30) */
moveto(20, 30);
/* plot a pixel at the C.P. */
putpixel(getx(), gety(), getmaxcolor());
/* create and output a message at (20, 30) */
sprintf(msg, " (%d, %d)", getx(), gety());
outtextxy(20, 30, msg);
/* move to a point a relative distance */
/* away from the current value of C.P. */
moverel (100, 100);
/* plot a pixel at the C.P. */
putpixel(getx(), gety(), getmaxcolor());
/* create and output a message at C.P. */
sprintf(msg, " (%d, %d)", getx(), gety());
outtext(msg);
/* clean up */
getch();
closegraph();
return 0;
}
函数名: movetext
功 能
将屏幕文本从一个矩形区域拷贝到另一个矩形区域用 法
int movetext(int left, int top, int right, int bottom,int newleft, int newtop);
程序例
#include <conio.h>#include <string.h>
int main(void)
{
char *str = "This is a test string";
clrscr();
cputs(str);
getch();
movetext (1, 1, strlen(str), 2, 10, 10);
getch();
return 0;
}
函数名: moveto
功 能
将CP移到(x, y)用 法
void far moveto(int x, int y);程序例
#include <graphics.h>#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
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 */
}
/* move the C.P. to location (20, 30) */
moveto(20, 30);
/* plot a pixel at the C.P. */
putpixel(getx(), gety(), getmaxcolor());
/* create and output a message at (20, 30) */
sprintf(msg, " (%d, %d)", getx(), gety());
outtextxy(20, 30, msg);
/* move to (100, 100) */
moveto(100, 100);
/* plot a pixel at the C.P. */
putpixel(getx(), gety(), getmaxcolor());
/* create and output a message at C.P. */
sprintf(msg, " (%d, %d)", getx(), gety());
outtext(msg);
/* clean up */
getch();
closegraph();
return 0;
}
函数名: movemem
功 能
移动一块字节用 法
void movemem(void *source, void *destin, unsigned len);程序例
#include <mem.h>#include <alloc.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char *source = "Borland International";
char *destination;
int length;
length = strlen(source);
destination = malloc(length + 1);
movmem (source,destination,length);
printf("%s\n",destination);
return 0;
}
函数名: normvideo
功 能
选择正常亮度字符用 法
void normvideo(void);程序例
#include <conio.h>int main(void)
{
normvideo ();
cprintf("NORMAL Intensity Text\r\n");
return 0;
}
函数名: nosound
功 能
关闭PC 扬声器用 法
void nosound(void);程序例
/* Emits a 7-Hz tone for 10 seconds.True story: 7 Hz is the resonant frequency of a chicken's skull cavity.
This was determined empirically in Australia, where a new factory
generating 7-Hz tones was located too close to a chicken ranch:
When the factory started up, all the chickens died.
Your PC may not be able to emit a 7-Hz tone.
*/
int main(void)
{
sound(7);
delay(10000);
nosound();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/67220.html