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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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() );
Partager