|
我在网上搞了这样一个东东(这个东东是把Bin文件转换为ISO文件的),然后按照我的习惯改了一点点。
然后我有一个bin文件和一个cue文件,我把bin文件转换后没法使用。接着我看这段代码,有个东西不明白,就是在fwrite中为什么buf的指针要移动(&buf[0]+16)啊?我猜想这个可能是bin和iso的一个差别所在,还有就是cue文件是干嘛的啊?请高手指点一下迷津。
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
/* G L O B A L D E F I N E S */
#define byte unsigned char
#define SIZERAW 2352
#define SIZEISO 2048
FILE *INPUT, *OUTPUT;
/* ///////////////////////////////////// */
int main(int argc, char* argv[])
{
byte buf[SIZERAW+100];
/* Tell them what I am. */
fprintf (stderr, "raw2iso - Converts RAW format files to ISO format");
/* Input -- process -- Output */
if ( argc != 3 )
exit(EXIT_FAILURE);
INPUT = fopen( argv[1], "rb" );
OUTPUT = fopen( argv[2], "wb" );
memset( &buf[0], '\0', sizeof( buf ) );
while( fread( &buf[0], SIZERAW, 1, INPUT ) ) {
fwrite( &buf[0]+16, SIZEISO, 1, OUTPUT );
memset( &buf[0], '\0', sizeof( buf ) );
};
exit(EXIT_SUCCESS);
}[code:1][/code:1] |
|