0
다른 버퍼로 복사 된 버퍼를 가져 오려고하지만 실제 값을 가져올 수 없습니다. 여기문제점 : 버퍼 데이터 얻기
내 프로그램 흐름 방법입니다 5. INT 양식
로 변환 1. 4. 컨테이너에서 첫 번째 요소를 검색 2. 3. 스토어 그들 STL 컨테이너에 문자로 변환 임의의 정수를 생성 여기내 헤더 파일입니다
struct BufferData
{
char *m_BufferData;
int m_Size;
};
private:
typedef std::vector<BufferData *>BufferVector;
BufferVector m_RecvBuffer1, m_RecvBuffer2, m_RecvBuffer3;
typedef std::vector<BufferData *>::iterator BufferVectorIterator;
BufferVectorIterator IterBuffer1, IterBuffer2, IterBuffer3;
그리고 여기 내 CPP 파일입니다
이은 고려에만 단계 # 4 # 5. 당신이 (¼4
될 내 BufferSource1을 볼 수 이제
m_RecvBuffer1 [1](0x0034feb8 {m_BufferData=0x0034bc28 "45" m_Size=4 })
BufferSource1 0x0034bca8 "(¼4" char *
:
void CUdpSocket::GetEachBuffer(char *BufferSource1, char *BufferSource2, char *BufferSource3)
{
if(!m_RecvBuffer1.empty())
{
IterBuffer1 = m_RecvBuffer1.begin();
memcpy(BufferSource1, *IterBuffer1, BUFFER_SIZE);
m_RecvBuffer1.erase(IterBuffer1);
}
else
memcpy(BufferSource1, 0, BUFFER_SIZE);
if(!m_RecvBuffer2.empty())
{
IterBuffer2 = m_RecvBuffer2.begin();
memcpy(BufferSource2, *IterBuffer2, BUFFER_SIZE);
m_RecvBuffer2.erase(IterBuffer2);
}
else
memcpy(BufferSource2, 0, BUFFER_SIZE);
if(!m_RecvBuffer3.empty())
{
IterBuffer3 = m_RecvBuffer3.begin();
memcpy(BufferSource3, *IterBuffer3, BUFFER_SIZE);
m_RecvBuffer3.erase(IterBuffer3);
}
else
memcpy(BufferSource3, 0, BUFFER_SIZE);
}
여기 내 출력됩니다. 대신 char
양식에 45가 표시되어야합니다. 이 문제를 어떻게 해결할 수 있습니까? 도와주세요.
감사합니다.