मैं सरणी में डेटा को बदलने के लिए कोशिश कर रहा हूँ में अहस्ताक्षरित चार, यह मेरा कोड का हिस्सा है:scanf हेक्स
u_char paket[100];
//here i put some data into array and then trying to change it by user
scanf("%hhx.%hhx.%hhx.%hhx.%hhx.%hhx", &paket[0], &paket[1], &paket[2], &paket[3], &paket[4], &paket[5]);
जब मेरे इनपुट उदाहरण 88.88.88.88.88.88
के लिए यह paket[0] - paket[5]
88 करने के लिए सेट है, लेकिन यह भी paket[6],
paket[7]
में परिवर्तन और paket[8]
से 0.
यह कैसे संभव है और इसे कैसे ठीक करें? मैं केवल [0] - [5]
अपने 'u_char' सरणी की घोषणा करने के लिए सभी तत्वों को प्रारंभ हो सकता है 0. कुछ फेलो का जवाब जिन्होंने इसे एक मिनट पहले हटा दिया था शायद सही था: आप एक बिग एंडियन सिस्टम पर प्रत्येक प्रारूप पहचानकर्ता पर एक int aka 4 बाइट्स/वर्ण स्कैन कर सकते हैं। – collapsar
आह, मेरी गलती, मैंने पूरा कोड पोस्ट नहीं किया। पहली और दूसरी पंक्ति के बीच मैं उस सरणी में डेटा लोड करता हूं। तो स्कैनफ़ से पहले उन तत्वों को 0 पर सेट नहीं किया गया है, समस्या स्कैनफ़ के साथ है। – user2306381