Tuesday 15 March 2011

c++ - Should recv() result must be equal to buffer length? -


  आंत resp = recv (s, buf, len, flags); अगर (resp == 18) {char डेटा [18]; Strcpy (डेटा, बफ़); ...}   

मुझे उम्मीद है कि स्ट्रेलन (डेटा) 18 के बराबर हो, लेकिन यह नहीं है। अगर आपका डेटा में एक शून्य-बाइट शामिल है I

कोड> \ 0 , तब strlen केवल टर्मिनेटर तक आपको स्ट्रिंग की लंबाई देगा। यदि डेटा के पास टर्मिनेटर नहीं है, तो strlen उस मेमोरी के माध्यम से खोजना जारी रखेगा जो उस पर होता है। यह सामान्यतः में प्रयोग किया जाता है।

No comments:

Post a Comment