Ottieni errore nella libreria IFFW quando si tenta di scrivere un pezzo
-
30-10-2019 - |
Domanda
Quando sto cercando di usare il Biblioteca EA IFFW.C Per scrivere un file IFF, non riesco a superare la chiamata startWGroup (). Fallisce in ifwritebytes () perché il contesto-> ckhdr.cksize è zero. All'interno IffWriteBytes () c'è un if () che controlla quella (dimensione)! = Sznotyet noto. (Sznotyet -Townown è una costante.) Il esempio Sembra indicare che dovrebbe funzionare, ma non riesco a vedere come. Iffwritebytes () restituisce client_error perché nBytes è 4 - Sto cercando di salvare un int 32 bit.
Il mio codice fallito:
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;
}
L'ultimo fallisce, startWgroup ().
IFF è, come XML, abbastanza semplice da poterlo semplicemente generare senza una libreria, ma sarebbe bello sfruttare una libreria una volta comune e ben testata.
La domanda non riguarda davvero Amiga, ma questo formato di file era popolare su Amiga. A proposito, lo sapevi Djvu, RMFF, Aiff, riff e molti altri formati sono Iff o lievi varianti?
Aggiornare: Descrizione IFF facile da leggere.
Nessuna soluzione corretta