2010-08-22 10 views

उत्तर

4

सी ++ में निकटतम समकक्ष प्रकार "अप्रमाणित चार" की गतिशील रूप से बनाई गई सरणी होगी (जब तक कि आप एक प्रोसेसर पर चल रहे हों जो 8 बिट्स के अलावा किसी बाइट को परिभाषित करता हो)।

इसलिए उदाहरण

सी #

byte[] array = new byte[10]; 
सी में

++

unsigned char *array = new unsigned char[10]; 
+0

लिखो आप हैं, धन्यवाद!) (मेरे दृश्य-सी ++ के लिए मेरी मदद की।नेट लाइब्रेरी) – Rella

+2

क्या आपका मतलब है 'बाइट [] सरणी = नया बाइट [10] '? – Anthony

+0

हाँ उस पकड़ के लिए धन्यवाद। मैं इंगित करता हूं कि सी ++ और सी # सरणी अलग-अलग जगहें हैं। हालांकि दोनों का आकार बदला नहीं जा सकता है, यदि आप उपलब्ध होने से अधिक डेटा तक पहुंचने का प्रयास करते हैं तो सी # आपको एक त्रुटि देगा। यदि आप भाग्यशाली हैं, तो C++ क्रैश हो सकता है। इसके अलावा, सी # किसी भी समय सरणी के आकार को बता सकता है, सी ++ आपको यह नहीं बता सकता कि सरणी एक बार बनाई गई है, आपको कुछ याद रखना होगा। – MerickOWA

12

byte[], सी # में, हस्ताक्षरित 8-बिट पूर्णांक (byte) की एक सरणी है।

समकक्ष uint8_t array[] होगा। अगर वे अपने सिस्टम पर नहीं दिया जाता है

uint8_t, stdint.h (सी) और cstdint (C++) में परिभाषित किया गया है, आप आसानी से उन्हें डाउनलोड, या उन्हें अपने आप को परिभाषित करते हैं (this SO question देखें) कर सकता है।

+0

हालांकि अपने चर 'array' नाम नहीं है। :) –

+3

या अधिक पारंपरिक रूप से, 'हस्ताक्षरित char' –

+3

@theatrus, नहीं,' char' को 8-बिट प्रकार की गारंटी नहीं है। –

6

सी ++ मानक में के लिए, char, signed char और unsigned char तीन उपलब्ध चार प्रकार के होते हैं। char शायद signed या unsigned, इसलिए:

typedef signed char sbyte; 
typedef unsigned char byte; 

byte bytes[] = { 0, 244, 129 }; 
संबंधित मुद्दे