Cependant, lorsque j'essaie de copier un tableau dans un vecteur, lorsque les données sont copiées dans le vecteur, elles diffèrent de celles du tableau d'origine.Problème de tableau vers vecteur vectoriel 0 +
int arraySize = 640000;
std::vector<unsigned char> vector_buffer;
unsigned char buffer[arraySize];
populateArray(&buffer);
for(int i = 0; i < arraySize; i++)
cout << buffer[i]; // this prints out data
std::copy (buffer, buffer + arraySize, std::back_inserter(vector_buffer));
for(int i = 0; i < arraySize; i++)
cout << vector_buffer[i]; // this prints out different data
Les données semblent compressées d'une manière ou d'une autre. Toute approche pour copier le tableau sur un vecteur fait la même chose. Je l'utilise pour créer une vidéo à partir d'images. Si j'utilise les données du tableau tout va bien, mais si j'utilise les données vectorielles cela ne fonctionne pas.
Toute aide serait grandement appréciée.
Vive
Ceci est le plus troublant.S'agit-il d'une erreur de sortie ou compare-t-on les différences d'identification octet-octet du tampon et du vecteur? Si c'est vrai, que sont-ils? Est-ce qu'ils suivent un modèle quelconque, comme des compensations régulières ou seulement certaines valeurs qui sont affectées? –
Le code tel que présenté devrait fonctionner. Est-ce le vrai code qui échoue? Les types du tableau et du vecteur sont-ils les mêmes? - Remarquez que vous pouvez utiliser (et être plus efficace) 'vector_buffer.insert (buffer, buffer + arraySize)', mais cela n'a aucun rapport avec le problème rencontré. –
Pouvez-vous essayer avec array_size étant 10 ou 20 et nous montrer le putput? En outre, je ne suis pas sûr que le tampon char non signé [arraySize] peut compiler sur tous les compilateurs. –