l.txt
上传用户:harvey99
上传日期:2020-01-11
资源大小:938k
文件大小:8k
- 返回>>C语言函数大全
- 函数名: labs
- 功 能: 取长整型绝对值
- 用 法: long labs(long n);
- 程序例:
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- long result;
- long x = -12345678L;
- result= labs(x);
- printf("number: %ld abs value: %ldn",
- x, result);
- return 0;
- }
-
-
-
- 函数名: ldexp
- 功 能: 计算value*2的幂
- 用 法: double ldexp(double value, int exp);
- 程序例:
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- double value;
- double x = 2;
- /* ldexp raises 2 by a power of 3
- then multiplies the result by 2 */
- value = ldexp(x,3);
- printf("The ldexp value is: %lfn",
- value);
- return 0;
- }
-
-
- 函数名: ldiv
- 功 能: 两个长整型数相除, 返回商和余数
- 用 法: ldiv_t ldiv(long lnumer, long ldenom);
- 程序例:
- /* ldiv example */
- #include <stdlib.h>
- #include <stdio.h>
- int main(void)
- {
- ldiv_t lx;
- lx = ldiv(100000L, 30000L);
- printf("100000 div 30000 = %ld remainder %ldn", lx.quot, lx.rem);
- return 0;
- }
-
-
-
- 函数名: lfind
- 功 能: 执行线性搜索
- 用 法: void *lfind(void *key, void *base, int *nelem, int width,
- int (*fcmp)());
- 程序例:
- #include <stdio.h>
- #include <stdlib.h>
- int compare(int *x, int *y)
- {
- return( *x - *y );
- }
- int main(void)
- {
- int array[5] = {35, 87, 46, 99, 12};
- size_t nelem = 5;
- int key;
- int *result;
- key = 99;
- result = lfind(&key, array, &nelem,
- sizeof(int), (int(*)(const void *,const void *))compare);
- if (result)
- printf("Number %d foundn",key);
- else
- printf("Number %d not foundn",key);
- return 0;
- }
-
-
- 函数名: line
- 功 能: 在指定两点间画一直线
- 用 法: void far line(int x0, int y0, int x1, int y1);
- 程序例:
- #include <graphics.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <conio.h>
- int main(void)
- {
- /* request auto detection */
- int gdriver = DETECT, gmode, errorcode;
- int xmax, ymax;
- /* initialize graphics and local variables */
- initgraph(&gdriver, &gmode, "");
- /* read result of initialization */
- errorcode = graphresult();
- /* an error occurred */
- if (errorcode != grOk)
- {
- printf("Graphics error: %sn",
- grapherrormsg(errorcode));
- printf("Press any key to halt:");
- getch();
- exit(1);
- }
- setcolor(getmaxcolor());
- xmax = getmaxx();
- ymax = getmaxy();
- /* draw a diagonal line */
- line(0, 0, xmax, ymax);
- /* clean up */
- getch();
- closegraph();
- return 0;
- }
-
-
- 函数名: linerel
- 功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线
- 用 法: void far linerel(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)
- {
- printf("Graphics error: %sn",
- grapherrormsg(errorcode));
- printf("Press any key to halt:");
- getch();
- exit(1);
- }
- /* move the C.P. to location (20, 30) */
- moveto(20, 30);
- /* create and output a
- message at (20, 30) */
- sprintf(msg, " (%d, %d)", getx(), gety());
- outtextxy(20, 30, msg);
- /* draw a line to a point a relative
- distance away from the current
- value of C.P. */
- linerel(100, 100);
- /* create and output a message at C.P. */
- sprintf(msg, " (%d, %d)", getx(), gety());
- outtext(msg);
- /* clean up */
- getch();
- closegraph();
- return 0;
- }
-
- 函数名: localtime
- 功 能: 把日期和时间转变为结构
- 用 法: struct tm *localtime(long *clock);
- 程序例:
- #include <time.h>
- #include <stdio.h>
- #include <dos.h>
- int main(void)
- {
- time_t timer;
- struct tm *tblock;
- /* gets time of day */
- timer = time(NULL);
- /* converts date/time to a structure */
- tblock = localtime(&timer);
- printf("Local time is: %s", asctime(tblock));
- return 0;
- }
-
-
-
- 函数名: lock
- 功 能: 设置文件共享锁
- 用 法: int lock(int handle, long offset, long length);
- 程序例:
- #include <io.h>
- #include <fcntl.h>
- #include <sysstat.h>
- #include <process.h>
- #include <share.h>
- #include <stdio.h>
- int main(void)
- {
- int handle, status;
- long length;
- /* Must have DOS Share.exe loaded for */
- /* file locking to function properly */
- handle = sopen("c:\autoexec.bat",
- O_RDONLY,SH_DENYNO,S_IREAD);
- if (handle < 0)
- {
- printf("sopen failedn");
- exit(1);
- }
- length = filelength(handle);
- status = lock(handle,0L,length/2);
- if (status == 0)
- printf("lock succeededn");
- else
- printf("lock failedn");
- status = unlock(handle,0L,length/2);
- if (status == 0)
- printf("unlock succeededn");
- else
- printf("unlock failedn");
- close(handle);
- return 0;
- }
-
-
- 函数名: log
- 功 能: 对数函数ln(x)
- 用 法: double log(double x);
- 程序例:
- #include <math.h>
- #include <stdio.h>
- int main(void)
- {
- double result;
- double x = 8.6872;
- result = log(x);
- printf("The natural log of %lf is %lfn", x, result);
- return 0;
- }
-
-
- 函数名: log10
- 功 能: 对数函数log
- 用 法: double log10(double x);
- 程序例:
- #include <math.h>
- #include <stdio.h>
- int main(void)
- {
- double result;
- double x = 800.6872;
- result = log10(x);
- printf("The common log of %lf is %lfn", x, result);
- return 0;
- }
-
-
-
- 函数名: longjump
- 功 能: 执行非局部转移
- 用 法: void longjump(jmp_buf env, int val);
- 程序例:
- #include <stdio.h>
- #include <setjmp.h>
- #include <stdlib.h>
- void subroutine(jmp_buf);
- int main(void)
- {
- int value;
- jmp_buf jumper;
- value = setjmp(jumper);
- if (value != 0)
- {
- printf("Longjmp with value %dn", value);
- exit(value);
- }
- printf("About to call subroutine ... n");
- subroutine(jumper);
- return 0;
- }
- void subroutine(jmp_buf jumper)
- {
- longjmp(jumper,1);
- }
-
-
-
- 函数名: lowvideo
- 功 能: 选择低亮度字符
- 用 法: void lowvideo(void);
- 程序例:
- #include <conio.h>
- int main(void)
- {
- clrscr();
- highvideo();
- cprintf("High Intesity Textrn");
- lowvideo();
- gotoxy(1,2);
- cprintf("Low Intensity Textrn");
- return 0;
- }
-
-
-
- 函数名: lrotl, _lrotl
- 功 能: 将无符号长整型数向左循环移位
- 用 法: unsigned long lrotl(unsigned long lvalue, int count);
- unsigned long _lrotl(unsigned long lvalue, int count);
- 程序例:
- /* lrotl example */
- #include <stdlib.h>
- #include <stdio.h>
- int main(void)
- {
- unsigned long result;
- unsigned long value = 100;
- result = _lrotl(value,1);
- printf("The value %lu rotated left one bit is: %lun", value, result);
- return 0;
- }
-
-
- 函数名: lsearch
- 功 能: 线性搜索
- 用 法: void *lsearch(const void *key, void *base, size_t *nelem,
- size_t width, int (*fcmp)(const void *, const void *));
- 程序例:
- #include <stdio.h>
- #include <stdlib.h>
- int compare(int *x, int *y)
- {
- return( *x - *y );
- }
- int main(void)
- {
- int array[5] = {35, 87, 46, 99, 12};
- size_t nelem = 5;
- int key;
- int *result;
- key = 99;
- result = lfind(&key, array, &nelem,
- sizeof(int), (int(*)(const void *,const void *))compare);
- if (result)
- printf("Number %d foundn",key);
- else
- printf("Number %d not foundn",key);
- return 0;
- }
-
-
-
- 函数名: lseek
- 功 能: 移动文件读/写指针
- 用 法: long lseek(int handle, long offset, int fromwhere);
- 程序例:
- #include <sysstat.h>
- #include <string.h>
- #include <stdio.h>
- #include <fcntl.h>
- #include <io.h>
- int main(void)
- {
- int handle;
- char msg[] = "This is a test";
- char ch;
- /* create a file */
- handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE);
- /* write some data to the file */
- write(handle, msg, strlen(msg));
- /* seek to the begining of the file */
- lseek(handle, 0L, SEEK_SET);
- /* reads chars from the file until we hit EOF */
- do
- {
- read(handle, &ch, 1);
- printf("%c", ch);
- } while (!eof(handle));
- close(handle);
- return 0;
- }
-