나는 네트워크 패킷의 길이에 기반하여 반복되는 for 루프를 만들려고 노력해왔다. API에는 event.packet-> dataLength에 의한 변수 (size_t)가 있습니다. 나는 0에서 event.packet-> dataLength - iterate를 반복하고 싶다. 반복 할 때마다 10 씩 증가 시키지만 문제가 생길 것이다.size_t를 정수로 변환 (C++)
해결책을 찾았지만 유용한 정보를 찾을 수 없었습니다. 나는 unsigned int로 size_t를 변환하려고 시도했지만 불행히도 그것은 작동하지 않았다. 기본적으로 내가 원하는 모든이있다 : 내 변환에서이 또는 시도 뭔가를 할
for (int i = 0; i < event.packet->dataLength - 7; i+=10) { }
시간마다 비록 내가 < # 부분은 엄청난 숫자입니다. 그들은 실제 숫자를 출력하기 위해 "% u"를 사용하는 API에 대한 튜토리얼에서 printf 문을주었습니다.하지만 서명되지 않은 int로 변환 할 때 그것은 여전히 올바르지 않습니다. 나는 여기서 어디로 가야할지 모르겠다. 어떤 도움을 크게 주시면 감사하겠습니다 :)
생각해 봐 :'static_cast (- 1)'의 값은 무엇인가? 'event.packet-> dataLength'가 7보다 작 으면 어떻게 될까요? –
genpfault
왜'i'도'size_t'가 될 수 없습니까? 또한 길이가 항상 7 mod 10과 같지 않으면 시도하는 것이 매우 특이한 루프입니다. – OrangeDog
'event.packet-> dataLength'를'int'로 형변환 해 보셨습니까? – Dawson