学习笔记第二十二天

1. time 函数

time_t time(time_t *t);

功能:获取当前时间(自1970年1月1日00:00:00 UTC以来的秒数)。

参数:t 是一个指向 time_t 类型的指针,用于存放返回的时间值。如果传递 NULL,函数将不

        会使用此参数,但仍会返回当前时间。

返回值:成功时返回当前时间(自1970年以来的秒数),失败时返回 (time_t)-1。注意,在

        大多数现代系统上,time 函数几乎不会失败,除非发生了一些极端情况(如系统时间被设置

为未来的某个点,而系统无法处理这种情况)。

 

2. localtime 函数

struct tm *localtime(const time_t *timep);

功能:将 time_t 类型的时间(秒数)转换为本地时间的 struct tm 结构体表示。

参数:timep 指向包含秒数的 time_t 类型的指针。

返回值:返回一个指向填充好的 struct tm 结构体的指针。如果发生错误(虽然非常罕见),则返

回 NULL

struct tm 结构体

 struct tm 
 {
int tm_sec;         /* seconds */
int tm_min;         /* minutes */
int tm_hour;        /* hours */
int tm_mday;        /* day of the month */
int tm_mon;         /* month */
int tm_year;        /* year */
int tm_wday;        /* day of the week */
int tm_yday;        /* day in the year */
int tm_isdst;       /* daylight saving time */
};

注意:返回的指针通常指向一个静态分配的内存区域,这意味着连续调用 localtime 可能会覆盖之

        前的结果。

3. ctime 函数

char *ctime(const time_t *timep);

功能:将 time_t 类型的时间(秒数)转换为一个可读的字符串形式。

参数:timep 指向包含秒数的 time_t 类型的指针。

返回值:返回一个指向静态分配的可读时间字符串的指针。连续调用可能会覆盖之前的字符串。如

        果发生错误(理论上不太可能),返回 NULL

4.getpwuid函数

struct passwd *getpwuid(uid_t uid);

功能:根据用户ID(UID)获取用户信息。

参数:uid_t uid:要查询的用户ID(UID)。

返回值:成功时,返回一个指向passwd结构体的指针,该结构体包含了对应的用户信息。

              失败时,返回NULL

5.getpwnam函数

功能:根据用户名获取用户信息。

函数构造:struct passwd *getpwnam(const char *name);

参数:const char *name:要查询的用户名。

返回值:成功时,返回一个指向passwd结构体的指针,该结构体包含了对应的用户信息。

              失败时返回NULL

6.getgrgid函数

struct group *getgrgid(gid_t gid);

功能:根据组ID(GID)获取组信息。

参数:gid_t gid:要查询的组ID(GID)。

返回值:成功时,返回一个指向group结构体的指针,该结构体包含了对应的组信息。失败时,返

        回NULL

7.getgrnam函数

struct group *getgrnam(const char *name);

功能:根据组名获取组信息。

参数:const char *name:要查询的组名。

返回值:成功时,返回一个指向group结构体的指针,该结构体包含了对应的组信息。失败时,返

        回NULL

8.symlink函数

int symlink(const char *oldpath, const char *newpath);

功能:创建一个指向oldpath的符号链接newpath

参数:const char *oldpath:原始文件的路径。const char *newpath:新创建的符号链接的路

        径。

返回值:成功时,返回0。失败时,返回-1,并设置errno以指示错误。

9.remov函数

int remove(const char *pathname);

功能:删除一个文件。

参数:const char *pathname:要删除的文件或目录的路径(注意:某些系统可能不允许使用

        remove删除目录)。

返回值:成功时,返回0。失败时,返回-1,并设置errno以指示错误。

10.rename函数

int rename(const char *oldpath, const char *newpath);

功能:重命名文件或目录,即将oldpath指向的文件或目录重命名为newpath

参数:const char *oldpath:原始文件或目录的路径。const char *newpath:新名称的路径。

返回值:成功时,返回0。失败时,返回-1,并设置errno以指示错误。

11.link函数

int link(const char *oldpath, const char *newpath);

功能:为oldpath指定的文件创建一个新的硬链接newpath

参数:const char *oldpath:原始文件的路径。const char *newpath:新硬链接的路径。

返回值:成功时,返回0。失败时,返回-1,并设置errno以指示错误。

12.truncate 函数

int truncate(const char *path, off_t length)

功能:将指定文件的大小截断到指定的长度。如果文件当前的大小大于指定长度,则文件内容会被

        截断;如果小于指定长度,则文件大小保持不变(。

参数:path:指向要截断的文件的路径的字符串。length:指定文件截断后的长度。

返回值:成功时返回 0。失败时返回 -1,并设置 errno 以指示错误类型。

13.perror 函数

void perror(const char *s);

功能:打印出由 errno 指示的最后一次系统或库函数调用遇到的错误的描述性消息。

参数:s:一个指向字符串的指针,该字符串会在错误消息前打印出来,通常用来提供上下文信

        息。

返回值:无返回值(void)。

14.strerror 函数

const char *strerror(int errnum);

功能:将错误码(errno 值)转换为可读的错误信息字符串。

参数:errnum:错误码,通常是 errno 的值。

返回值:返回一个指向静态分配的错误信息字符串的指针。注意,这个字符串是静态的,因此每次

        调用 strerror 时都可能会覆盖上一次调用的结果。

15.error 宏(非标准)

void error(int status, int errnum, const char *fmt, ...);

功能:打印错误信息和退出程序。这是一个非标准的宏,通常在某些特定的库(如 GNU C Library

        的 libgen.h 或其他第三方库)中提供。

参数:status:程序的退出状态码。errnum:错误码,通常是 errno 的值。fmt:一个格式字符

        串,用于构造错误信息。...:可变数量的参数,用于与 fmt 中的格式说明符匹配。

返回值:无返回值(void),但会导致程序退出。

你可能感兴趣的:(学习,笔记,数据结构)