一、文件函数
1.getpwuid()
struct passwd *getpwuid(uid_t uid);
功能:
根据用户id到/etc/passwd文件下解析获得
结构体信息
参数:
uid:用户id
返回值:
成功返回id对应用户的信息
失败返回NULL
2.getpwnam()
struct passwd *getpwnam(const char *name);
功能:
根据用户名到/etc/passwd文件下解析获得
结构体信息
3.getgrgid()
struct group *getgrgid(gid_t gid);
功能:
根据gid到/etc/group文件中解析组信息
参数:
gid:组id
返回值:
成功返回组信息
失败返回NULL
4.getgrnam()
struct group *getgrnam(const char *name);
功能:
根据组名到/etc/group文件中解析组信息
5.拓展
struct passwd *getpwnam(const char *name);
功能: 获得/etc/passwd中相关的信息通过name
参数:name,指定,要找谁的信息
返回:成功返回passwd的结构体指针
NULL,失败
struct group *getgrnam(const char *name);
功能,从/etc/group,获取相关组的信息。
参数:name,指定组名
返回:如果成功返回group的指针
NULL 失败
二、链接文件
软链接文件、符号链接文件、硬链接文件
命令行:ln -s 123 softlink 快捷方式
1.symlink()
int symlink(const char *oldpath, const char *newpath);
功能:
创建一个链接向oldpath文件的新符号链接文件
参数:
oldpath:被链接向的文件的路径
newpath:新符号链接文件
返回值:
成功返回0
失败返回-1
2.remove()
int remove(const char *pathname);
功能:
删除一个文件
参数:
pathname:删除文件的路径
返回值:
成功返回0
失败返回-1
3.rename()
int rename(const char *oldpath, const char *newpath);
功能:
将一个老的路径名改为新的路径
参数:
oldpath:老路径名
newpath:新路径名
返回值:
成功返回0
失败返回-1
4.link()
int link(const char *oldpath, const char *newpath);
功能:
创建一个硬链接文件
参数:
oldpath:要链接向的文件
newpath:创建的新硬链接文件
返回值:
成功返回0
失败返回-1
5.truncate()
int truncate(const char *path, off_t length);
三、出错相关函数接口
#include <errno.h>
errno.h头文件中声明errno是一个外部存储整型变量
extern int errno;
errno == 0 没有任何错误
errno置位
1.perror()
void perror(const char *s);-->strerror()
功能:
打印s字符串和errno对应的错误信息
参数:
s:要打印在终端上的出错信息
返回值:
缺省
2.strerror()
char *strerror(int errnum);
功能:
打印errnum出错码对应的出错信息
参数:
errnum:出错errno号
返回值:
成功返回对应的错误信息
ruturn 1;
3.error()(exit());
void error(int status, int errnum, const char *format, ...);
功能:
程序出错打印对应出错原因和用户输入字符串并退出
参数:
status:程序退出的状态
EXIT_FAILURE 1
EXIT_SUCCESS 0
errnum:错误码
format:
类似printf打印
返回值:
缺省
__FILE__ 表示是那个文件
__LINE__表示第几行
__func__表示在那个函数
__DATE__
__TIME__
三、Makefile 编写(工程管理工具)
vim 编辑器,gcc 编译器 ,gdb 调试器 make