void insert_into_stream(std::ostream& stream, int number)
{
int length = sizeof(int);
char insert_buffer[sizeof(int)];
memcpy(insert_buffer, &number, length);
stream.write(insert_buffer, length);
}
int int_from_string(std::string string)
{
int a;
std::istringstream(string)>>a;
return a;
}
这段代码以前可以工作,我不记得我做了什么细微的改变,它不再工作了。当一个数字(例如 8001)进来时,我在最后一条语句之前进行调试,insert_buffer 包含“A”,所以很明显出了点问题,第二个函数没有检索到 8001。
注意 - 在将流发送到第二个函数之前,我确实将流转换为字符串。
第一个函数哪里错了?
- -编辑 - -
是的,我错了,第一个功能实际上是在做它应该做的,第二个是错的,有人可以解决这个问题吗?