プログラムcng2jpg.cで言及されている C 関数 convertCNGFileToJPGFile を変換しようとしているときに行き詰まりました。
私はPerlで同じことを書こうとしてきましたが、hex、pack、unpack関数のノウハウが十分ではありません。
以下で説明するように、誰かが Perl で同様のコードを書くことができれば、本当に感謝しています。
while ((bytesRead = fread(buffer, 1, kBufferSize, inputFile))) {
if (!isValidCNG) {
if (bytesRead < 11 || strncmp("\xa5\xa9\xa6\xa9", (char *)(buffer + 6), 4)) {
fprintf(stderr, "%s does not appear to be a valid CNG file\n", inputFileName);
return 0;
}
isValidCNG = 1;
}
for (size_t i = 0; i < bytesRead; i++)
buffer[i] ^= 0xEF;
size_t bytesWritten = fwrite(buffer, 1, bytesRead, outputFile);
if (bytesWritten < bytesRead) {
fprintf(stderr, "Error writing %s\n", outputFileName);
return 0;
}
}
前もって感謝します。