Цитата Сообщение от SAM style Посмотреть сообщение
Предложи свой вариант определения типа файла (trd-scl) не по расширению. Да и зачем это для винды, когда там есть плагины для фара?
Быстрый детект SCL по сигнатуре 'SINCLAIR' и последующему байту в диапазоне 1-255:
Код:
namespace SCL
{
  using namespace Formats;

  const std::string FORMAT(
    "'S'I'N'C'L'A'I'R"
    "01-ff"
  );
Детальная проверка также включает в себя подсчет и сверку контрольной суммы.

С TRD ситуация гораздо хуже.
Быстрый детект по содержимому сервисного сектора и примерной структуре каталога (можно облегчить):
Код:
namespace TRD
{
  using namespace Formats;

  const std::string FORMAT(
    "(00|01|20-7f??????? ??? ?? ? 0x 00-a0){128}"
    //service sector
    "00"     //zero
    "?{224}" //reserved
    "?"      //free sector
    "?"      //free track
    "16"     //type DS_DD
    "01-7f"  //files
    "?00-09" //free sectors
    "10"     //ID
    "0000?????????00"//reserved
    "?"      //deleted files
    "20-7f{8}"//title
    "000000"  //reserved
  );
Детальная проверка может включать анализ файлов на непересечения.