《LINUX程序设计》第4章总结

1. 程序参数

    main函数参数, int main(int argc,char *argv[]);

    int getopt(int argc,char *const argv[],const char *optstring)    getopt_long()    用于方便处理main参数问题


2. 环境变量

    char *getenv(const char *name);

    int putenv(const char *string);

    环境由一组格式为“名字=值” 的字符串组成。

    environ 变量  , 可以用循环通过此变量取出所有的环境变量

3. 时间和日期

    tim_t the_time;

    struct tm *tm_ptr;

   time_t time(time_t *tloc);        the_time = time((time_t *)0);    (void) time(&the_time);

   double difftime(time_t time1,time_t time2);    此函数计算time1 - time2的值

   struct tm *gmtime(const time_t *timeval);        tm_ptr = tmtime(&the_time);

    struct tm *localtime(const time_t *timeeval);  tm_ptr = localtime(&the_time);

    time_t mktime(struct tm *timeptr);        将tm结构转换成原始的time_t时间值

    char *asctime(const struct tm *timeptr);

    char *ctime(const time_t *timeeval);

    size_t strftime(char *s,size_t maxsize,const char *format,struct tm *timeptr);        对日期字符串格式更好的控制,构建日期时间字符串

    size_t strptime(const char *buf,const char *format,struct tm *timeptr);                     从日期时间字符串中读取并创建tm结构


4. 临时文件

    char *tmpnam(char *s);        创建一个唯一的临时文件名,写到s中,最好创建后立即使用

    FILE *tmpfile(void);                创建并打开一个唯一的临时文件,当对它的引用全部关闭时,文件临时文件会自动删除,推荐使用。

    char *mktemp(char *template);        以给定的模板为基础创建一个唯一的文件名,template参数必须是一个以6个X字符结尾的字符串

    char *mkstemp(char *template);       创建并打开一个临时文件,推荐使用。


5. 用户信息

    #include<sys/types.h>

    #include<unistd.h>

    uid_t getuid(void);

    char *getlogin(void);        返回与当前用户关联的用户名


    获取用户信息的编程接口:

    #include<sys/types.h>

    #include<pwd.h>

    struct passwd *getpwuid(uid_t uid);

    strcut passwd *getpwnam(const char *name);

   passwd成员:

                          char *pw_name        用户登录名

                          char *pw_uid             UID号

                          char *pw_gid             GID号

                          char *pw_dir              用户家目录

                          char *pw_gecos        用户全名

                          char *pw_shell          用户默认shell



    其他不常用函数:

    #include<pwd.h>

    #include<sys/types.h>

    void endpwent(void);

    struct passwd *getpwent(void);        该函数依次返回每个用户的信息数据项,当到达文件尾时,返回一个空指针,可以用一个循环取出所有用户信息项

    void setpwent(void);


 

    #include<sys/types.h>

    #include<unistd.h>

    uid_t geteuid(void);

    gid_t getgid(void);

    gid_t getegid(void);

    int setuid(uid_t uid);    root

    int setgid(gid_t gid);    root

 

6. 主机信息

    int gethostname(char *name ,size_t namelen);

   

    #include<sys/utsname.h>

    int uname(struct utsname *name);        获取关于主机的更多详细信息,出错返回 -1

    utsname成员:

                             char sysname[]        操作系统名

                             char nodename[]      主机名

                             char release[]           系统发行级别

                             char version[]            系统版本号

                             char machine[]          硬件类型


    #include<unistd.h>

    long gethostid(void);



7. 日志

    #include<syslog.h>

    void syslog(int priority,const char *message,arguments ...);        向系统写日志

    void closelog(void);

    void openlog(const char *ident,int logopt,int facility);

    int setlogmask(int maskpri);



8. 资源和限制

    #include<sys/resource.h>

    int getpriority(int witch,id_t who);                                     取得优先级

    int setpriority(int witch,id_t who,int priority);

    int getrlimit(int resource,struct rlimit *r_limit);                  取得资源方面限制

    int setrlimit(int resource,const struct rlimit *r_limit);

    int getrusage(int who,struct rusage *r_usage);              取得CPU耗时



   大体总结了一个,详细的参考《LINUX程序设计》,睡觉啦,很晚啦,2012/05/14  00:33

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值