我的應用程序應該安裝並檢查插入USB插槽中的任何pendrive的內容。 問題是,有些用戶可能使用格式化爲其他文件系統的pendrives而不是標準的'vfat'。 標準mount()上自動檢測文件系統
mount /dev/sda1 /mnt/pendrive -t auto
會滿足我的需求是不夠的 - 它的工作原理和內核可讀的任何文件系統將被使用。 問題是我必須從應用程序中完成它,並且我寧願避免在存在「自然」C解決方案時調用system()
和shell命令。
#include <sys/mount.h>
...
result = mount("/dev/sda1", "/mnt/pendrive", "vfat" ,0, NULL);
工作正常。但如果我用"auto"
或NULL
替換"vfat"
,則不會安裝任何內容。
當我檢查busybox掛載的源文件時,如果提供'auto'或沒有文件系統類型,它似乎在mount()調用中將文件系統設置爲NULL。但是這個伎倆似乎並不適合我。我錯過了什麼?有沒有一些相對簡單的方法來做到這一點?
errno設置爲什麼? – Duck 2012-07-09 15:34:47
當您將'auto'選項指定爲文件系統類型時,mount實用程序在內部嘗試檢測文件系統 – Petesh 2012-07-09 15:43:19