c - memcpy with char * not working -
<पूर्व>
चार रिक बफर [8024]; Char * temp = (चार *) मॉलोक (65536); ज़िरोमेरी (रिकबफर, 8024); ज़िओमोरी (अस्थायी, 65536); बाइट्सरेड = आरक्यूवी (_socket, recBuffer, आकारफलक (रिक बफर), 0); मेम्क्पी (अस्थायी, और रिकबफर, बाइट्स रीड); memcpy यहाँ काम नहीं करता है यह अस्थायी रूप में एक यादृच्छिक चार में प्रतिलिपि बनाता है। और अगर मैं पॉइंटर्स के साथ खेलता हूं तो मैं इसे प्राप्त आंकड़ों के पहले चार को कॉपी कर सकता हूं। मैं यह कैसे ठीक से कर सकता हूं?
मैं चाहता हूं कि डेटा रिक रिकर को टेम्पप बफर में कॉपी किया जाना चाहिए।
संपादन: टिप्पणी से कार्य कोड:
#include & lt; string.h & gt; # शामिल करें & lt; stdio.h & gt; Int main () {चाइर रिक बफर [8024]; Char * temp = (चार *) मॉलोक (65536); स्ट्रकपी (रिकबफर, "हैलो \ n"); इंट बाइइट्स रीड = 7; मेम्क्पी (अस्थायी, और रिकबफर, बाइट्स रीड); Printf ("% s \ n", अस्थायी); वापसी 0; } 2 संपादित करें यह क्यों विफल रहता है ?:
#include & lt; stdio.h & gt; शून्य संलग्न (चार * बी, चार डेटा, इंट लेन) {memcpy (बी, और डेटा, लेन); } Int main () {int bytesRead = 7; चार रिक बफर [8024]; Char * temp = (चार *) मॉलोक (65536); स्ट्रकपी (रिकबफर, "हैलो \ n"); जोड़ें (अस्थायी, रिक बफर, बाइट्स रीड); Printf ("% s \ n", अस्थायी); वापसी 0; }
बदलें:
memcpy (अस्थायी, & Amp; recBuffer, बाइट्स रीड); से: <पूर्व> memcpy (temp, recBuffer, bytesRead);
Comments
Post a Comment