私のアプリは、USBスロットに挿入されたペンドライブの内容をマウントして確認することになっています。問題は、一部のユーザーが標準の「vfat」以外のファイルシステム用にフォーマットされたペンドライブを使用している可能性があることです。標準
mount /dev/sda1 /mnt/pendrive -t auto
私のニーズには十分でしょう-それは機能し、カーネルで読み取り可能なファイルシステムが使用されます。system()
問題は、アプリケーション内から実行する必要があることです。「自然な」Cソリューションが存在する場合は、コマンドの呼び出しやシェルコマンドを避けたいと思います。
#include <sys/mount.h>
...
result = mount("/dev/sda1", "/mnt/pendrive", "vfat" ,0, NULL);
正しく動作します。しかし、私が交換"vfat"
する"auto"
か、NULL
何もマウントされていない場合。
ビジーボックスのマウントのソースをチェックしたところ、「auto」またはファイルシステムタイプが指定されていない場合、mount()呼び出しでファイルシステムがNULLに設定されているようです。しかし、そのトリックは私にはうまくいかないようです。私は何が欠けていますか?これを行うための比較的簡単な方法はありますか?