无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1895|回复: 2
打印 上一主题 下一主题

谁来推荐一款最好用的镜像文件转换成ISO的工具

[复制链接]
跳转到指定楼层
1#
发表于 2003-11-7 22:32:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁来推荐一款最好用的镜像文件转换成ISO的工具
有没有这样的,,
1、支持的格式多
2、命令行下可以用的,
3、不用安装的,
4、未想到。。。。。

--------------------------------------------------------------------------------
附BIN TO ISO 的 C++ 原代码
///////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//
// BIN2ISO (C) 2000 by DeXT
//
// This is a very simple utility to convert a BIN image (either RAW/2352 or Mode2/2336 format)
// to standard ISO format (2048 b/s). Structure of images are as follows:
//
// Mode 1 (2352): Sync (12), Address (3), Mode (1), Data (2048), ECC (288)
// Mode 2 (2352): Sync (12), Address (3), Mode (1), Subheader (8), Data (2048), ECC (280)
// Mode 2 (2336): Subheader (8), Data (2048), ECC (280)
//
// Mode2/2336 is the same as Mode2/2352 but without header (sync+addr+mode)
// Sector size is detected by the presence of Sync data
// Mode is detected from Mode field
//
// Tip for Mac users: for Mode2 tracks preserve Subheader
// (sub 8 from seek_header and write 2056 bytes per sector)
//
//
// Changelog:
//
// 2000/11/16 - added mode detection for RAW data images (adds Mode2/2352 support)
//
//
void main( int argc, char **argv )
{
int   seek_header, seek_ecc, sector_size;
long  i, source_length;
char  buf[2352], destfilename[_MAX_PATH];
const char SYNC_HEADER[12] = { 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0 };
FILE  *fdest, *fsource;
if (argc < 2)
   {
   printf("Error: bad syntax\n\nUsage is: bin2iso image.bin [image.iso]\n");
   exit(EXIT_FAILURE);
   }
if (argc >= 3)
   {
strcpy(destfilename, argv[2]);
   }
else
   {
   strcpy(destfilename, argv[1]);
   if (strlen(argv[1]) < 5 || stricmp(destfilename+strlen(argv[1])-4, ".bin"))
   strcpy(destfilename+strlen(argv[1]), ".iso");
   else
   strcpy(destfilename+strlen(argv[1])-4, ".iso");
   }
fsource = fopen(argv[1],"rb");
fdest = fopen(destfilename,"wb");
fread(buf, sizeof(char), 16, fsource);
if (memcmp(SYNC_HEADER, buf, 12))
   {
seek_header = 8;// Mode2/2336    // ** Mac: change to 0
seek_ecc = 280;
sector_size = 2336;
   }
else
   {
switch(buf[15])
   {
   case 2:
seek_header = 24;// Mode2/2352    // ** Mac: change to 16
seek_ecc = 280;
sector_size = 2352;
break;
   case 1:
seek_header = 16;// Mode1/2352
seek_ecc = 288;
sector_size = 2352;
break;
   default:
printf("Error: Unsupported track mode");
exit(EXIT_FAILURE);
   }
   }
fseek(fsource, 0L, SEEK_END);
source_length = ftell(fsource)/sector_size;
fseek(fsource, 0L, SEEK_SET);
for(i = 0; i < source_length; i++)
   {
fseek(fsource, seek_header, SEEK_CUR);
fread(buf, sizeof(char), 2048, fsource);    // ** Mac: change to 2056 for Mode2
fwrite(buf, sizeof(char), 2048, fdest);     // ** same as above
fseek(fsource, seek_ecc, SEEK_CUR);
   }
fclose(fdest);
fclose(fsource);
exit(EXIT_SUCCESS);
}
/////////////////////////////////////////////////////////////////////////////
2#
发表于 2003-11-8 10:39:38 | 只看该作者

谁来推荐一款最好用的镜像文件转换成ISO的工具

winiso
回复

使用道具 举报

3#
发表于 2003-11-8 12:30:40 | 只看该作者

谁来推荐一款最好用的镜像文件转换成ISO的工具

IsoBuster
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-18 22:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表