如果我做了一個「雙重問題」,但我不想分開這兩個,我很抱歉:)任何人都不知道TMPFS_MAGIC
的值是0x01021994
對於?它是在/usr/include/linux/magic.h
定義和我發現它在運行下面的代碼,其嘗試確定在linux目錄中的可用空間(通常是一個分區):從gdb命令提示TMPFS_MAGIC在linux標題和錯誤,確定可用磁盤空間
QString path = "/dev/sde1";
struct stat stst;
struct statfs stfs;
if (::stat(path.toLocal8Bit(), &stst) == -1)
{
return 0.0;
}
if (::statfs(path.toLocal8Bit(), &stfs) == -1)
{
return 0.0;
}
return m_diskFree = stfs.f_bavail * (stst.st_blksize/1024);
:
(gdb) print stfs
$1 = {f_type = 16914836, f_bsize = 4096, f_blocks = 2042909, f_bfree = 2042907, f_bavail = 2042907, f_files = 2042909, f_ffree = 2042267, f_fsid = {__val = {0, 0}}, f_namelen = 255, f_frsize = 4096, f_flags = 4128, f_spare = {0,
0, 0, 0}}
其中f_type = 16914836
是上面的魔法。爲了您的信息,「/ dev/sde1」是一個外部驅動器,其上有一個NTFS分區。
而且上面的代碼對於安裝在Linux系統上的NTFS分區無法正常工作(它適用於ext * fs文件系統),所以我問:您是否知道正確地找到掛載的NTFS驅動器的可用空間Linux主機? linux命令df
似乎正確地完成了這項工作,但我沒有找到正確的方法來做到這一點(但......)。
謝謝,F。