मैं एक लूप बनाने की कोशिश कर रहा हूं जो नेटवर्क पैकेट की लंबाई के आधार पर पुनरावृत्त होगा। एपीआई में event.packet-> डेटा लम्बाई द्वारा एक चर (size_t) मौजूद है। मैं 0 से eventpacket-> डेटा लम्बाई - 7 को हर बार 10 से बढ़ाना चाहता हूं, लेकिन यह हर बार परेशानी की दुनिया में है।एक size_t को एक पूर्णांक में परिवर्तित करना (सी ++)
मैंने समाधान की तलाश की लेकिन कुछ उपयोगी खोजने में असमर्थ रहे। मैंने size_t को एक हस्ताक्षरित int में परिवर्तित करने और इसके साथ अंकगणित करने की कोशिश की लेकिन दुर्भाग्यवश यह काम नहीं किया। मूल रूप से सभी मैं चाहता हूँ यह है:
हर बार हालांकिfor (int i = 0; i < event.packet->dataLength - 7; i+=10) { }
मैं अपने रूपांतरण पर इस या प्रयास की तरह कुछ करना मैं < # भाग एक बड़ी संख्या है। उन्होंने एपीआई के लिए एक ट्यूटोरियल में एक प्रिंटफ स्टेटमेंट दिया जो वास्तविक संख्या को मुद्रित करने के लिए "% u" का उपयोग करता था, हालांकि जब मैं इसे एक हस्ताक्षरित int में परिवर्तित करता हूं तो यह अभी भी गलत है। मुझे यकीन नहीं है कि यहां से कहाँ जाना है। किसी भी मदद की सराहना की जाएगी :)
इसके बारे में सोचें: 'static_cast (- 1)' का मूल्य क्या है? क्या होता है जब 'event.packet-> डेटा लम्बाई' 7 से कम है? –
genpfault
मैं 'size_t' क्यों नहीं हो सकता? इसके अलावा, जब तक कि लंबाई हमेशा 7 mod 10 के बराबर न हो, यह प्रयास करने के लिए एक बहुत ही असाधारण पाश है। – OrangeDog
क्या आपने 'event.packet-> डेटा लम्बाई' को 'int' पर कास्ट करने का प्रयास किया था? – Dawson