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

📄 c函数大全.txt

📁 关于c中的一些函数用法的说明
💻 TXT
📖 第 1 页 / 共 5 页
字号:
{ 
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 
#include 
#include 

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

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

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

#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开头)


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

#include 
#include 

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

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

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

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

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

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

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

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

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

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

/* for centering screen messages */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 

/* output a message to the screen */ 
outtextxy(midx, midy, "press any key to clear the screen:"); 

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

/* clear the screen */ 
cleardevice(); 

/* output another message */ 
outtextxy(midx, midy, "press any key to quit:"); 

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




函数名: clearerr 
功 能: 复位错误标志 
用 法:void clearerr(FILE *stream); 
程序例: 

#include 

int main(void) 
{ 
FILE *fp; 
char ch; 

/* open a file for writing */ 
fp = fopen("DUMMY.FIL", "w"); 

/* force an error condition by attempting to read */ 
ch = fgetc(fp); 
printf("%c\n",ch); 

if (ferror(fp)) 
{ 
/* display an error message */ 
printf("Error reading from DUMMY.FIL\n"); 

/* reset the error and EOF indicators */ 
clearerr(fp); 
} 

fclose(fp); 
return 0; 
} 




函数名: clearviewport 
功 能: 清除图形视区 
用 法: void far clearviewport(void); 
程序例: 

#include 
#include 
#include 
#include 

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

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

/* 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()); 
ht = textheight("W"); 

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

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

/* display some messages */ 
outtextxy(0, 0, "* <-- (0, 0) in smaller viewport"); 
outtextxy(0, 2*ht, "Press any key to clear viewport:"); 

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

/* clear the viewport */ 
clearviewport(); 

/* output another message */ 
outtextxy(0, 0, "Press any key to quit:"); 

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




函数名: _close, close 
功 能: 关闭文件句柄 
用 法: int close(int handle); 
程序例: 

#include 
#include 
#include 
#include 

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

/* create a file containing 10 bytes */ 
handle = open("NEW.FIL", O_CREAT); 
if (handle > -1) 
{ 
write(handle, buf, strlen(buf)); 

/* close the file */ 
close(handle); 
} 
else 
{ 
printf("Error opening file\n"); 
} 
return 0; 
} 




函数名: clock 
功 能: 确定处理器时间 
用 法: clock_t clock(void); 
程序例: 

#include 
#include 
#include 

int main(void) 
{ 
clock_t start, end; 
start = clock(); 

delay(2000); 

end = clock(); 
printf("The time was: %f\n", (end - start) / CLK_TCK); 

return 0; 
} 




函数名: closegraph 
功 能: 关闭图形系统 
用 法: void far closegraph(void); 
程序例: 

#include 
#include 
#include 
#include 

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

/* initialize graphics mode */ 
initgraph(&gdriver, &gmode, ""); 

/* read result of initialization */ 
errorcode = graphresult(); 

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

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

/* output a message */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(x, y, "Press a key to close the graphics system:"); 

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

/* closes down the graphics system */ 
closegraph(); 

printf("We're now back in text mode.\n"); 
printf("Press any key to halt:"); 
getch(); 
return 0; 
} 




函数名: clreol 
功 能: 在文本窗口中清除字符到行末 
用 法: void clreol(void); 
程序例: 

#include 

int main(void) 

{ 
clrscr(); 
cprintf("The function CLREOL clears all characters from the\r\n"); 
cprintf("cursor position to the end of the line within the\r\n"); 
cprintf("current text window, without moving the cursor.\r\n"); 
cprintf("Press any key to continue . . ."); 
gotoxy(14, 4); 
getch(); 

clreol(); 
getch(); 

⌨️ 快捷键说明

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