我正在创建一个程序来管理 tar 文件。我使用 struct stat 打印文件的权限:
printf("%d\n", buff->st_mode); /* I get a number like 33152 */
但我需要在 struct header 的模式[8] 中设置权限:
typedef struct s_head
{
char name[100];
char mode[8];
char uid[8];
char gid[8];
char size[12];
char mtime[12];
char chksum[8];
char linkflag;
char linkname[100];
char magic[8];
char uname[32];
char gname[32];
char devmajor[8];
char devminor[8];
} t_head;
当我打印模式时,我应该得到类似 000600 的东西(对于 rw-------),但是我怎样才能用正确的书写方式将我的 st_mode 转换为 char *