我试图在c中使用尽可能多的标志来实现ls命令,但是我在获取正确的次要和主要文件时遇到问题,这里是一个示例我做了什么。
array(
[id]=>
[name]=>
[email]=>
[dob]=>
[gallery]=>array(
[0] => 1.png
[1] => 2.png
)
[address]=> xyz
)
这是正常的ls命令,因为您可以看到Major为5,Minor为0。 我的程序显示以下内容:
> ls -l ~/../../dev/tty
crw-rw-rw- 1 root tty 5, 0 Nov 25 13:30
我仍然是初学者,所以我在这里并没有真正理解这个问题,这是我到目前为止所做的(该程序与ls命令不同,但仅显示有关文件的信息) )。
Minor: 6
Major: 0
现在这只是获取有关文件的某些信息,与ls命令相比,一切似乎都是正确的,除了Minor和Major。
答案 0 :(得分:2)
您正在使用st_dev
,这是所在的设备。您需要st_rdev
,即设备特殊文件"是" /表示。 (不过,您应该先检查文件是否是设备节点。)