将整数放入队列<char> C ++ </char>中

时间:2014-05-10 12:58:33

标签: c++ stl queue type-conversion

嗨我想将整数的每个字节放在一个队列中但由于某种原因我得到了不同的值。

int integer = 100;
char *chrp = (char *) &integer;
char charBuffer[10];
std::queue<char> queue;

for (int i = 0; i < sizeof(int); i++) {
    queue.push(chrp[i]);
}

for (int i = 0; i < queue.size(); i++) {
    charBuffer[i] = queue.front();
    queue.pop();
}

int *result = (int *) charBuffer;

我不明白为什么*result与整数不相等。感谢

1 个答案:

答案 0 :(得分:4)

每次你的第二个循环i上升一个并且 queue.size()下降一个 - 所以你在读完一半数据后就会停止。< / p>

while (!queue.empty())怎么样?