分享
 
 
 

linux 下C函数部分(6)

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

相关函数

acos,asin,atan,atan2,cos,tan

表头文件

#include<math.h>

定义函数

double sin(double x);

函数说明

sin()用来计算参数x的正玄值,然后将结果返回。

返回值

返回-1 至1之间的计算结果。

附加说明

使用GCC编译时请加入-lm。

范例

#include<math.h>

main()

{

double answer = sin (0.5);

printf("sin(0.5) = %f\n",answer);

}

执行

sin(0.5) = 0.479426

sinh(取双曲线正玄函数值)

相关函数

cosh,tanh

表头文件

#include<math.h>

定义函数

double sinh( double x);

函数说明

sinh()用来计算参数x的双曲线正玄值,然后将结果返回。数学定义式为:(exp(x)-exp(-x))/2。

返回值

返回参数x的双曲线正玄值。

附加说明

使用GCC编译时请加入-lm。

范例

#include<math.h>

main()

{

double answer = sinh (0.5);

printf("sinh(0.5) = %f\n",answer);

}

执行

sinh(0.5) = 0.521095

sqrt(计算平方根值)

相关函数

hypotq

表头文件

#include<math.h>

定义函数

double sqrt(double x);

函数说明

sqrt()用来计算参数x的平方根,然后将结果返回。参数x必须为正数。

返回值

返回参数x的平方根值。

错误代码

EDOM 参数x为负数。

附加说明

使用GCC编译时请加入-lm。

范例

/* 计算200的平方根值*/

#include<math.h>

main()

{

double root;

root = sqrt (200);

printf("answer is %f\n",root);

}

执行

answer is 14.142136

tan(取正切函数值)

相关函数

atan,atan2,cos,sin

表头文件

#include <math.h>

定义函数

double tan(double x);

函数说明

tan()用来计算参数x的正切值,然后将结果返回。

返回值

返回参数x的正切值。

附加说明

使用GCC编译时请加入-lm。

范例

#include<math.h>

main()

{

double answer = tan(0.5);

printf("tan (0.5) = %f\n",answer);

}

执行

tan(0.5) = 0.546302

tanh(取双曲线正切函数值)

相关函数

cosh,sinh

表头文件

#include<math.h>

定义函数

double tanh(double x);

函数说明

tanh()用来计算参数x的双曲线正切值,然后将结果返回。数学定义式为:sinh(x)/cosh(x)。

返回值

返回参数x的双曲线正切值。

附加说明

使用GCC编译时请加入-lm。

范例

#include<math.h>

main()

{

double answer = tanh(0.5);

printf("tanh(0.5) = %f\n",answer);

}

执行

tanh(0.5) = 0.462117

endgrent(关闭组文件)

相关函数

getgrent,setgrent

表头文件

#include<grp.h>

#include<sys/types.h>

定义函数

void endgrent(void);

函数说明

endgrent()用来关闭由getgrent()所打开的密码文件。

返回值

附加说明

范例

请参考getgrent()与setgrent()。

endpwent(关闭密码文件)

相关函数

getpwent,setpwent

表头文件

#include<pwd.h>

#include<sys/types.h>

定义函数

void endpwent(void);

函数说明

endpwent()用来关闭由getpwent()所打开的密码文件。

返回值

附加说明

范例

请参考getpwent()与setpwent()。

endutent(关闭utmp 文件)

相关函数

getutent,setutent

表头文件

#include<utmp.h>

定义函数

void endutent(void);

函数说明

endutent()用来关闭由getutent所打开的utmp文件。

返回值

附加说明

范例

请参考getutent()。

fgetgrent(从指定的文件来读取组格式)

相关函数

fgetpwent

表头文件

#include<grp.h>

#include<stdio.h>

#include<sys/types.h>

定义函数

struct group * getgrent(FILE * stream);

函数说明

fgetgrent()会从参数stream指定的文件读取一行数据,然后以group结构将该数据返回。参数stream所指定的文件必须和、etc/group相同的格式。group结构定义请参考getgrent()。

返回值

返回group结构数据,如果返回NULL则表示已无数据,或有错误发生。

范例

#include <grp.h>

#include<sys/types.h>

#include<stdio.h>

main()

{

struct group *data;

FILE *stream;

int i;

stream = fopen("/etc/group", "r");

while((data = fgetgrent(stream))!=0){

i=0;

printf("%s :%s:%d :", data->gr_name,data->gr_passwd,data->gr_gid);

while (data->gr_mem[i])printf("%s,",data->gr_mem[i++]);

printf("\n");

}

fclose(stream);

}

执行

root:x:0:root,

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin,adm

adm:x:4:root,adm,daemon

tty:x:5

disk:x:6:root

lp:x:7:daemon,lp

mem:x:8

kmem:x:9

wheel:x:10:root

mail:x:12:mail

news:x:13:news

uucp:x:14:uucp

man:x:15

games:x:20

gopher:x:30

dip:x:40:

ftp:x:50

nobody:x:99:

fgetpwent(从指定的文件来读取密码格式)

相关函数

fgetgrent

表头文件

#include<pwd.h>

#include<stdio.h>

#include<sys/types.h>

定义函数

struct passwd * fgetpwent(FILE *stream);

函数说明

fgetpwent()会从参数stream指定的文件读取一行数据,然后以passwd结构将该数据返回。参数stream所指定的文件必须和/etc/passwd相同的格式。passwd结构定义请参考getpwent()。

返回值

返回passwd结构数据,如果返回NULL则表示已无数据,或有错误发生。

范例

#include<pwd.h>

#include<sys/types.h>

main()

{

struct passwd *user;

FILE *stream;

stream = fopen("/etc/passwd", "r");

while((user = fgetpwent(stream))!=0){

printf("%s:%d:%d:%s:%s:%s\n",user->pw_name,user->pw_uid,user->pw_gid,user->pw_gecos,user->pw_dir,user->pw_shell);

}

}

执行

root:0:0:root:/root:/bin/bash

bin:1:1:bin:/bin:

daemon:2:2:daemon:/sbin:

adm:3:4:adm:/var/adm:

lp:4:7:lp:/var/spool/lpd:

sync:5:0:sync:/sbin:/bin/sync

shutdown:6:0:shutdown:/sbin:/sbin/shutdown

halt:7:0:halt:/sbin:/sbin/halt

mail:8:12:mail:/var/spool/mail:

news:9:13:news:var/spool/news

uucp:10:14:uucp:/var/spool/uucp:

operator:11:0:operator :/root:

games:12:100:games:/usr/games:

gopher:13:30:gopher:/usr/lib/gopher-data:

ftp:14:50:FTP User:/home/ftp:

nobody:99:99:Nobody:/:

xfs:100:101:X Font Server: /etc/Xll/fs:/bin/false

gdm:42:42:/home/gdm:/bin/bash

kids:500:500: : /home/kids:/bin/bash

getegid(取得有效的组识别码)

相关函数

getgid,setgid,setregid

表头文件

#include<unistd.h>

#include<sys/types.h>

定义函数

gid_t getegid(void);

函数说明

getegid()用来取得执行目前进程有效组识别码。有效的组识别码用来决定进程执行时组的权限。返回值返回有效的组识别码。

范例

main()

{

printf("egid is %d\n",getegid());

}

执行

egid is 0 /*当使用root身份执行范例程序时*/

geteuid(取得有效的用户识别码)

相关函数

getuid,setreuid,setuid

表头文件

#include<unistd.h>

#include<sys/types.h>

定义函数

uid_t geteuid(void)

函数说明

geteuid()用来取得执行目前进程有效的用户识别码。有效的用户识别码用来决定进程执行的权限,借由此改变此值,进程可以获得额外的权限。倘若执行文件的setID位已被设置,该文件执行时,其进程的euid值便会设成该文件所有者的uid。例如,执行文件/usr/bin/passwd的权限为-r-s--x--x,其s 位即为setID(SUID)位,而当任何用户在执行passwd 时其有效的用户识别码会被设成passwd 所有者的uid 值,即root的uid 值(0)。

返回值

返回有效的用户识别码。

范例

main()

{

printf ("euid is %d \n",geteuid());

}

执行

euid is 0 /*当使用root身份执行范例程序时*/

getgid(取得真实的组识别码)

相关函数

getegid,setregid,setgid

表头文件

#include<unistd.h>

#include<sys/types.h>

定义函数

gid_t getgid(void);

函数说明

getgid()用来取得执行目前进程的组识别码。

返回值

返回组识别码

范例

main()

{

printf(“gid is %d\n”,getgid());

}

执行

gid is 0 /*当使用root身份执行范例程序时*/

getgrent(从组文件中取得账号的数据)

相关函数

setgrent,endgrent

表头文件

#include<grp.h>

#include <sys/types.h>

定义函数

struct group *getgrent(void);

函数说明

getgrent()用来从组文件(/etc/group)中读取一项组数据,该数据以group 结构返回。第一次调用时会取得第一项组数据,之后每调用一次就会返回下一项数据,直到已无任何数据时返回NULL。

struct group{

char *gr_name; /*组名称*/

char *gr_passwd; /* 组密码*/

gid_t gr_gid; /*组识别码*/

char **gr_mem; /*组成员账号*/

}

返回值

返回group结构数据,如果返回NULL则表示已无数据,或有错误发生。

附加说明

getgrent()在第一次调用时会打开组文件,读取数据完毕后可使用endgrent()来关闭该组文件。

错误代码

ENOMEM 内存不足,无法配置group结构。

第一頁    上一頁    第6頁/共20頁    下一頁    最後頁
第01頁 第02頁 第03頁 第04頁 第05頁 第06頁 第07頁 第08頁 第09頁 第10頁 
第11頁 第12頁 第13頁 第14頁 第15頁 第16頁 第17頁 第18頁 第19頁 第20頁 
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有