我正在创建一个程序来管理 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 *