3

私の質問は次のとおりです。この情報を使用するには、デバイス (私の場合はペンドライブ) のファイルシステムを取得する必要があります。私のアプリケーションは Linux 組み込みシステムで実行されており、ファイルのエクスポートを実行するために、FAT および FAT32 ファイルシステムのペンドライブのみを受け入れたいと考えています。インターネットを検索しましたが、必要なシステム コールが見つかりませんでした。ソースコードについてですが、私のアプリケーションは C++ で書かれています。

私はすでに struct statfs を使用しましたが、テストの結果、NTFS と FAT32 でフォーマットされたペンドライブを使用すると、フィールド f_type の値が同じであることがわかりました。テストの出力は値 0x1021994 です。

ファイルシステムを検出できることはわかっていますが、「fdisk -l」コマンドでジョブを実行できますが、fdisk コードでその方法を理解できません。

4

4 に答える 4

3

返されたに含まれるstatfs システムコールを使用できますuint32_t f_type; /* type of filesystem */struct statfs


JoshuaRLiが指摘しているように、statfs現在は非推奨であり、フィールドが含まれてstatvfsstruct statvfsないことに注意してください。f_type

于 2012-09-18T20:07:56.700 に答える
0

マウント時にファイルシステムのタイプを指定します (デフォルトの は使用しないでください-t auto)。複数のタイプをサポートする必要がある場合は、それらすべてを試すことを検討してください。

于 2012-09-18T22:15:27.310 に答える
0

最も簡単な方法は次のとおりです。

1) 「mount」コマンドを実行して、1 つ以上のファイルシステムを一覧表示します

2) 必要な情報を解析する

3) "popen()" APIから "mount" を呼び出すことができます

PS:

必要に応じて、手順 2) と 3) を省略できる"mount()" APIもあります。

LinuxはLinuxであり、おそらく少なくとも6つの他の実行可能な代替手段があります-あなたの選択:)

于 2012-09-18T20:05:10.883 に答える
0

多分あなたは/proc/mountsファイルを解析できますか?

于 2012-09-18T20:06:55.097 に答える