[Lecture binaire] Problème de conversion
Bonjour à tous,
j'ai un fichier binaire écrit en UInt16, et je dois mettre ce fichier dans un vector de double. Pour l'instant, je n'ai rien trouvé de mieux que d'importer dans un vector de UInt16, puis convertir après en double...
Je suis quand même un sceptique sur ma méthode. N'y a t-il y pas une meilleure solution ? :koi:
Code:
1 2 3 4 5 6 7 8 9
|
std::ifstream fichier(m_nom_film.c_str(), std::ios_base::in | std::ios_base::binary);
std::vector<vigra::UInt16> vect_temp(m_taille_image);
fichier.seekg(numero_image * m_taille_image * sizeof(vigra::UInt16), std::ios_base::beg);
fichier.read(reinterpret_cast<char*>(&vect_temp[0]), m_taille_image * sizeof(vigra::UInt16));
std::vector<double> vect(m_taille_image);
std::copy(vect_temp.begin(), vect_temp.end(), vect.begin() ); |