我在尝试转换程序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;
}
}
提前致谢。