У меня есть файл, и когда я вызываю stat (2), я получаю:
File: 'testarg.txt'
Size: 8 Blocks: 1 IO Block: 121072 regular file
Device: 30h/48d Inode: 716627550 Links: 1
Access: (0644/-rw-r--r--) Uid: (74112/ laz18) Gid: (72216/grp.csci.mentors)
Access: 2018-04-29 14:56:51.380908597 -0700
Modify: 2018-04-29 14:37:51.230987592 -0700
Change: 2018-04-29 14:37:51.231987501 -0700
Birth: -
Итак, я хочу распечатать некоторую информацию из этого (и сделать так, чтобы я мог сделать то же самое для других файлов:
file name: testarg.txt
user name: laz18
group name: grp.csci.mentors
permissions: -rw-r--r--
links: 1
size: 8
modification time: 2018-4-29 14:37:51.230987592 -0700
но я не уверен, как на самом деле получить эту информацию из статистического вызова. Я знаю, что он содержит такие вещи, как st_uid
, который содержит идентификатор пользователя, но я не знаю, как на самом деле захватить это и затем напечатать его.
Edit:
Я нашел способ получить доступ к некоторой информации, возвращаемой stat (), но эти две проблемы все еще вызывают у меня проблемы:
int userName = fileStats.st_uid;
возвращает 74112 вместо laz18
int groupName = fileStats.st_gid;
возвращает 72216 вместо grp.csci.mentors
Мне нужен какой-то способ доступа к ним, а на страницах руководства не сказано, как это сделать.