»ファイルシステムの種類を調べる(Windows)はてなブックマークに追加はてなブックマークを見る

GetVolumeInformationを使ってボリューム情報を取得することで、ファイルシステムも取得できる。 ファイルシステムは"NTFS"や"FAT"などの文字列で取得できる。

// ボリューム情報を取得して、ファイルシステム名を取得する
char* drive = "C:\\";
char buffer[0x80];

if ( GetVolumeInformation( drive, NULL, 0, NULL, NULL, NULL, buffer, sizeof( buffer ) ) )
{
  // 取得したファイルシステム名を検証する
  printf( "%sのファイルシステムは", drive );

  if ( 0 == strcmp( "NTFS", buffer ) )
  {
    printf( "NTFSです\n" );
  }
  else if ( 0 == strcmp( "FAT", buffer ) )
  {
    printf( "FATです\n" );
  }
  else if ( 0 == strcmp( "CDFS", buffer ) )
  {
    printf( "CDFSです\n" );
  }
  else if ( 0 == strcmp( "UDF", buffer ) )
  {
    printf( "UDFです\n" );
  }
  else
  {
    printf( "未知のファイルシステムです\n" );
  }
}

Sponsored Link