J'ai eu un problème lors de l'implémentation d'un programme PHP en C++. Il s'agit de la fonction PHP/Perl unpack. Je ne sais pas comment faire le suivant en C++ (pas de problème en lisant un fichier ... mais comment je déballe ("C *") le contenu lu).Comment puis-je gérer des données compressées à partir de Perl/PHP en C++?
<?php
$file = fopen("bitmaskt.dat", "rb");
//create the data stream
$matrix_x = unpack("C*", fread($file, 286));
$matrix_y = unpack("C*", fread($file, 286));
$mask_data = unpack("C*", fread($file, 286));
$reed_ecc_codewords = ord(fread($file, 1));
$reed_blockorder = unpack("C*", fread($file, 128));
fclose($file);
?>
Actuellement, je suis très désespéré résoudre ce problème sur mon propre - Je cherche jours, tout ce que je trouve sont des questions ... Y at-il Déballez libre() C++ mise en œuvre là-bas? :-(
H i cube, thx pour votre réponse, mais il y a binaire "crap" situé dans 'matrix_x' au lieu du nombre que je voudrais les obtenir en PHP et Perl par' unpack ("C *") '. "bitmaskt.dat" a été créé avec pack ("C *") en Perl. J'ai essayé un peu, typecasteing chaque élément de 'matrix_x' à' long int' semble avoir le même effet que PHP unpack ("C *") - quelqu'un peut-il confirmer cela? – Georg
Je ne comprends pas très bien comment vous avez casté les nombres. Pourriez-vous montrer cette partie du code C++? – cube