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

📄 c_info.txt

📁 这是一个unix 系统下的 C 语言函数大全的电子文章。
💻 TXT
📖 第 1 页 / 共 5 页
字号:
      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;       }       函数名: 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 */       }       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;       } 

⌨️ 快捷键说明

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