Pregunta

Cuando estoy tratando de usar el EA IFFW.C Biblioteca Para escribir un archivo IFF, no puedo superar la llamada startwgroup (). Falla en iffwritytes () porque context-> ckhdr.cksize es cero. Dentro de Iffwritytes () hay un if () que verifica ese (tamaño)! = Sznotyet conocido. (Sznotyet conocido es una constante.) El ejemplo parece indicar que debería funcionar, pero no puedo ver cómo. IffwriteBytes () devuelve Client_error porque nbytes es 4: estoy tratando de guardar un int.

Mi código de falla:

outfp = fopen(outfile, "wb");

ifferr = OpenWIFF(outfp, &filec, szNotYetKnown);

if (ifferr) {
    return 2;
}

ifferr = StartWGroup(&filec, LIST, sizeof (ID_NATAMI_FLASH), ID_NATAMI_FLASH, &listc);

if (ifferr) {
    printf("ifferr: %d\n", ifferr);
    return 3;
}

El último falla, startwgroup ().

IFF es, como XML, lo suficientemente simple como para poder generarlo sin una biblioteca, pero sería bueno hacer un uso de una biblioteca una vez común y bien probada.

La pregunta no se trata realmente de Amiga, pero este formato de archivo fue popular en Amiga. Por cierto, ¿sabías? Djvu, RMFF, AIFF, RIFF y muchos otros formatos son IFF o ligeras variaciones?

Actualizar: Descripción de IFF fácil de leer.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top