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

📄 c_info.txt

📁 这是一个unix 系统下的 C 语言函数大全的电子文章。
💻 TXT
📖 第 1 页 / 共 5 页
字号:
C语言库函数---unix常用系统调用---使用说明       ChinaUnix.net首页 -> 论坛首页 -> C/C++发表于: 2003-05-20 11:04    发表主题: C语言库函数---unix常用系统调用---使用说明  【说明】 一共分为3个小节,1小节给定一个连接,该连接给了一些常用标准c的函数使用说明,但是不够全面。2小结按字母顺序排列,几乎覆盖了c中常用的函数,同时有些函数不在unix系统中支持了。3小节描述了unix系统中常用系统调用的使用说明。 1、【下面这个连接给出了一些c库的函数说明使用例程,但是不够全面,可以作为参考】 http://www.ggv.com.cn/forum/clib/clib.html 2、【如下对C语言库函数按字母顺序描述,如果上面连接中找不到,可以到这里查找到,需要说明的是,有些函数在新的libc中已经不提供了,如果要查找unix系统常用系统调用函数使用说明,请到小节3查找】       代码:      函数名: abort       功 能: 异常终止一个进程       用 法: void abort(void);       程序例:       #include <stdio.h>       #include <stdlib.h>       int main(void)       {       printf("Calling abort()\n");       abort();       return 0; /* This is never reached */       }       函数名: abs       功 能: 求整数的绝对值       用 法: int abs(int i);       程序例:       #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);       }       函数名: access       功 能: 确定文件的访问权限       用 法: 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);       }       函数名: acos       功 能: 反余弦函数       用 法: double acos(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       功 能: 反正弦函数       用 法: double asin(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       功 能: 反正切函数       用 法: 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       功 能: 计算Y/X的反正切值       用 法: 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       功 能: 把字符串转换成浮点数       用 法: double atof(const char *nptr);       程序例:       #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       功 能: 把字符串转换成长整型数       用 法: int atoi(const char *nptr);       程序例:       #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(const char *nptr);       程序例:       #include <stdlib.h>       #include <stdio.h>       int main(void)       {       long l;       char *str = "98765432";       l = atol(lstr);       printf("string = %s integer = %ld\n", str, l);       return(0);       }       函数名: bar       功 能: 画一个二维条形图       用 法: void far bar(int left, int top, int right, int bottom);       程序例:       #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, i;       /* 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=SOLID_FILL; i<USER_FILL; i++)       {       /* set the fill style */       setfillstyle(i, getmaxcolor());       /* draw the bar */       bar(midx-50, midy-50, midx+50,       midy+50);       getch();       }       /* clean up */       closegraph();       return 0;       }       函数名: bar3d       功 能: 画一个三维条形图       用 法: void far bar3d(int left, int top, int right, int bottom,       int depth, int topflag);       程序例:       #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, i;       /* initialize graphics, 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 error code */       }       midx = getmaxx() / 2;       midy = getmaxy() / 2;       /* loop through the fill patterns */       for (i=EMPTY_FILL; i<USER_FILL; i++)       {       /* set the fill style */       setfillstyle(i, getmaxcolor());       /* draw the 3-d bar */       bar3d(midx-50, midy-50, midx+50, midy+50, 10, 1);       getch();       }       /* clean up */       closegraph();       return 0;       }       函数名: bdos       功 能: DOS系统调用       用 法: int bdos(int dosfun, unsigned dosdx, unsigned dosal);       程序例:       #include <stdio.h>       #include <dos.h>       /* Get current drive as 'A', 'B', ... */       char current_drive(void)       {       char curdrive;       /* Get current disk as 0, 1, ... */       curdrive = bdos(0x19, 0, 0);       return('A' + curdrive);       }       int main(void)       {       printf("The current drive is %c:\n", current_drive());       return 0;       }       函数名: bdosptr       功 能: DOS系统调用       用 法: int bdosptr(int dosfun, void *argument, unsigned dosal);       程序例:       #include <string.h>       #include <stdio.h>       #include <dir.h>       #include <dos.h>       #include <errno.h>       #include <stdlib.h>       #define BUFLEN 80       int main(void)       {       char buffer[BUFLEN];       int test;       printf("Enter full pathname of a directory\n");       gets(buffer);       test = bdosptr(0x3B,buffer,0);       if(test)       {       printf("DOS error message: %d\n", errno);       /* See errno.h for error listings */       exit (1);       }       getcwd(buffer, BUFLEN);       printf("The current directory is: %s\n", buffer);       return 0;       }       函数名: bioscom       功 能: 串行I/O通信       用 法: int bioscom(int cmd, char abyte, int port);       程序例:       #include <bios.h>       #include <conio.h>       #define COM1 0       #define DATA_READY 0x100       #define TRUE 1       #define FALSE 0       #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00)       int main(void)       {       int in, out, status, DONE = FALSE;       bioscom(0, SETTINGS, COM1);       cprintf("... BIOSCOM [ESC] to exit ...\n"); 

⌨️ 快捷键说明

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