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

📄 c函数之l.txt

📁 详细介绍了c语言常用函数,希望能给大家帮助!
💻 TXT
字号:
  函数名: 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: %ld\n", 
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: %lf\n", 
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 %ld\n", 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 found\n",key); 
else 
printf("Number %d not found\n",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: %s\n", 
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: %s\n", 
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 <sys\stat.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 failed\n"); 
exit(1); 
} 

length = filelength(handle); 
status = lock(handle,0L,length/2); 

if (status == 0) 
printf("lock succeeded\n"); 
else 
printf("lock failed\n"); 

status = unlock(handle,0L,length/2); 

if (status == 0) 
printf("unlock succeeded\n"); 
else 
printf("unlock failed\n"); 

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 %lf\n", 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 %lf\n", 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 %d\n", 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 Text\r\n"); 
lowvideo(); 
gotoxy(1,2); 
cprintf("Low Intensity Text\r\n"); 

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: %lu\n", 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 found\n",key); 
else 
printf("Number %d not found\n",key); 

return 0; 
} 




函数名: lseek 
功 能: 移动文件读/写指针 
用 法: long lseek(int handle, long offset, int fromwhere); 
程序例: 

#include <sys\stat.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; 
} 

更多的函数

⌨️ 快捷键说明

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