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

📄 c语言函数大全.txt

📁 c语言函数大全
💻 TXT
📖 第 1 页 / 共 5 页
字号:
{ 
int in, out, status, DONE = FALSE; 



bioscom(0, SETTINGS, COM1); 
cprintf("... BIOSCOM [ESC] to exit ...\n"); 
while (!DONE) 
{ 
status = bioscom(3, 0, COM1); 
if (status & DATA_READY) 
if ((out = bioscom(2, 0, COM1) & 0x7F) != 0) 
putch(out); 
if (kbhit()) 
{ 
if ((in = getch()) ==  \x1B ) 
DONE = TRUE; 
bioscom(1, in, COM1); 
} 
} 
return 0; 
} 




函数名: biosdisk 
功 能: 软硬盘I/O 
用 法: int biosdisk(int cmd, int drive, int head, int track, int sector 

int nsects, void *buffer); 
程序例: 



#include <bios.h> 
#include <stdio.h> 



int main(void) 
{ 
int result; 
char buffer[512]; 



printf("Testing to see if drive a: is ready\n"); 

result = biosdisk(4,0,0,0,0,1,buffer); 
result &= 0x02; 
(result) ? (printf("Drive A: Ready\n")) : 
(printf("Drive A: Not Ready\n")); 



return 0; 
} 






函数名: biosequip 
功 能: 检查设备 
用 法: int biosequip(void); 
程序例: 



#include <bios.h> 
#include <stdio.h> 



int main(void) 
{ 
int result; 
char buffer[512]; 



printf("Testing to see if drive a: is ready\n"); 

result = biosdisk(4,0,0,0,0,1,buffer); 
result &= 0x02; 
(result) ? (printf("Drive A: Ready\n")) : 
(printf("Drive A: Not Ready\n")); 



return 0; 
} 






函数名: bioskey 
功 能: 直接使用BIOS服务的键盘接口 
用 法: int bioskey(int cmd); 
程序例: 



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



#define RIGHT 0x01 
#define LEFT 0x02 
#define CTRL 0x04 
#define ALT 0x08 



int main(void) 
{ 
int key, modifiers; 



/* function 1 returns 0 until a key is pressed 
*/ 
while (bioskey(1) == 0); 



/* function 0 returns the key that is waiting 
*/ 
key = bioskey(0); 



/* use function 2 to determine if shift 
keys were used */ 
modifiers = bioskey(2); 
if (modifiers) 
{ 
printf("["); 
if (modifiers & RIGHT) printf("RIGHT"); 
if (modifiers & LEFT) printf("LEFT"); 
if (modifiers & CTRL) printf("CTRL"); 
if (modifiers & ALT) printf("ALT"); 
printf("]"); 
} 
/* print out the character read */ 
if (isalnum(key & 0xFF)) 
printf(" %c \n", key); 
else 
printf("%#02x\n", key); 
return 0; 
} 





函数名: biosmemory 
功 能: 返回存储块大小 
用 法:int biosmemory(void); 
程序例: 



#include <stdio.h> 
#include <bios.h> 



int main(void) 
{ 
int memory_size; 



memory_size = biosmemory(); /* returns value 
up to 640K */ 
printf("RAM size = %dK\n",memory_size); 
return 0; 
} 





函数名: biosprint 
功 能: 直接使用BIOS服务的打印机I/O 
用 法: int biosprint(int cmd, int byte, int port); 
程序例: 



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



int main(void) 
{ 
#define STATUS 2 /* printer status command */ 
#define PORTNUM 0 /* port number for LPT1 */ 



int status, abyte=0; 



printf("Please turn off your printer. Press 
any key to continue\n"); 
getch(); 
status = biosprint(STATUS, abyte, PORTNUM); 
if (status & 0x01) 
printf("Device time out.\n"); 
if (status & 0x08) 
printf("I/O error.\n"); 



if (status & 0x10) 
printf("Selected.\n"); 
if (status & 0x20) 
printf("Out of paper.\n"); 



if (status & 0x40) 
printf("Acknowledge.\n"); 
if (status & 0x80) 
printf("Not busy.\n"); 



return 0; 
} 






函数名: biostime 
功 能: 读取或设置BIOS时间 
用 法: long biostime(int cmd, long newtime); 
程序例: 



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



int main(void) 
{ 
long bios_time; 



clrscr(); 
cprintf("The number of clock ticks since midnight is:\r\n"); 
cprintf("The number of seconds since midnight is:\r\n"); 
cprintf("The number of minutes since midnight is:\r\n"); 
cprintf("The number of hours since midnight is:\r\n"); 
cprintf("\r\nPress any key to quit:"); 
while(!kbhit()) 
{ 
bios_time = biostime(0, 0L); 



gotoxy(50, 1); 
cprintf("%lu", bios_time); 



gotoxy(50, 2); 
cprintf("%.4f", bios_time / CLK_TCK); 



gotoxy(50, 3); 
cprintf("%.4f", bios_time / CLK_TCK / 60); 



gotoxy(50, 4); 
cprintf("%.4f", bios_time / CLK_TCK / 3600); 
} 
return 0; 
} 






函数名: brk 
功 能: 改变数据段空间分配 
用 法: int brk(void *endds); 
程序例: 



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



int main(void) 
{ 
char *ptr; 



printf("Changing allocation with brk()\n"); 

ptr = malloc(1); 
printf("Before brk() call: %lu bytes free\n", coreleft()); 
brk(ptr+1000); 
printf(" After brk() call: %lu bytes free\n", coreleft()); 
return 0; 
} 




函数名: bsearch 
功 能: 二分法搜索 
用 法: void *bsearch(const void *key, const void *base, size_t *nelem, 

size_t width, int(*fcmp)(const void *, const *)); 
程序例: 



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



#define NELEMS(arr) (sizeof(arr) / sizeof(arr[0])) 




int numarray[] = {123, 145, 512, 627, 800, 
933}; 



int numeric (const int *p1, const int *p2) 

{ 
return(*p1 - *p2); 
} 



int lookup(int key) 
{ 
int *itemptr; 



/* The cast of (int(*)(const void *,const 
void*)) 
is needed to avoid a type mismatch error at 
compile time */ 
itemptr = bsearch (&key, numarray, NELEMS(numarray), 
sizeof(int), (int(*)(const void *,const void *))numeric); 
return (itemptr != NULL); 
} 



int main(void) 
{ 
if (lookup(512)) 
printf("512 is in the table.\n"); 
else 
printf("512 isn t in the table.\n"); 



return 0; 
} 


  C语言函数库 

函数大全(c开头)




函数名: cabs 
功 能: 计算复数的绝对值 
用 法: double cabs(struct complex z); 
程序例: 



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



int main(void) 
{ 
struct complex z; 
double val; 



z.x = 2.0; 
z.y = 1.0; 
val = cabs(z); 



printf("The absolute value of %.2lfi %.2lfj 
is %.2lf", z.x, z.y, val); 
return 0; 
} 





函数名: calloc 
功 能: 分配主存储器 
用 法: void *calloc(size_t nelem, size_t elsize); 
程序例: 



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



int main(void) 
{ 
char *str = NULL; 



/* allocate memory for string */ 
str = calloc(10, sizeof(char)); 



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



/* display string */ 
printf("String is %s\n", str); 



/* free memory */ 
free(str); 



return 0; 
} 






函数名: ceil 
功 能: 向上舍入 
用 法: double ceil(double x); 
程序例: 



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



int main(void) 
{ 
double number = 123.54; 
double down, up; 



down = floor(number); 
up = ceil(number); 



printf("original number %5.2lf\n", number); 
printf("number rounded down %5.2lf\n", down); 
printf("number rounded up %5.2lf\n", up); 



return 0; 
} 





函数名: cgets 
功 能: 从控制台读字符串 
用 法: char *cgets(char *str); 
程序例: 



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



int main(void) 
{ 
char buffer[83]; 
char *p; 



/* There s space for 80 characters plus 
the NULL terminator */ 
buffer[0] = 81; 



printf("Input some chars:"); 
p = cgets(buffer); 
printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p); 
printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer); 




/* Leave room for 5 characters plus the 
NULL terminator */ 
buffer[0] = 6; 



printf("Input some chars:"); 
p = cgets(buffer); 
printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p); 
printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer); 

return 0; 
} 





函数名: chdir 
功 能: 改变工作目录 
用 法: int chdir(const char *path); 
程序例: 



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



char old_dir[MAXDIR]; 
char new_dir[MAXDIR]; 



int main(void) 
{ 
if (getcurdir(0, old_dir)) 
{ 
perror("getcurdir()"); 
exit(1); 
} 
printf("Current directory is: \\%s\n", old_dir); 



if (chdir("\\")) 
{ 
perror("chdir()"); 
exit(1); 
} 



if (getcurdir(0, new_dir)) 
{ 
perror("getcurdir()"); 
exit(1); 
} 
printf("Current directory is now: \\%s\n", new_dir); 



printf("\nChanging back to orignal directory: 
\\%s\n", old_dir); 
if (chdir(old_dir)) 
{ 
perror("chdir()"); 
exit(1); 
} 



return 0; 
} 





函数名: _chmod, chmod 
功 能: 改变文件的访问方式 
用 法: int chmod(const char *filename, int permiss); 
程序例: 



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



void make_read_only(char *filename); 



int main(void) 
{ 
make_read_only("NOTEXIST.FIL"); 
make_read_only("MYFILE.FIL"); 
return 0; 
} 



void make_read_only(char *filename) 
{ 
int stat; 



stat = chmod(filename, S_IREAD); 
if (stat) 
printf("Couldn t make %s read-only\n", filename); 
else 
printf("Made %s read-only\n", filename); 
} 






函数名: chsize 
功 能: 改变文件大小 
用 法: int chsize(int handle, long size); 
程序例: 



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



int main(void) 
{ 
int handle; 
char buf[11] = "0123456789"; 



/* create text file containing 10 bytes 
*/ 
handle = open("DUMMY.FIL", O_CREAT); 
write(handle, buf, strlen(buf)); 



/* truncate the file to 5 bytes in size 
*/ 
chsize(handle, 5); 



/* close the file */ 
close(handle); 
return 0; 
} 





函数名: circle 
功 能: 在给定半径以(x, y)为圆心画圆 
用 法: void far circle(int x, int y, 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 radius = 100; 



/* initialize graphics and local variables 
*/ 
initgraph(&gdriver, &gmode, ""); 



/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
} 



midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
setcolor(getmaxcolor()); 



/* draw the circle */ 
circle(midx, midy, radius); 



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






函数名: cleardevice 
功 能: 清除图形屏幕 
用 法: void far cleardevice(void); 
程序例: 



#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; 



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

⌨️ 快捷键说明

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