Monday, 15 September 2014

function - Char pointer to String in C -


  टाइपफीफ स्ट्रक्चर {char * title; चार * वर्ण; } रूमडेटा; रूमडाटा रूमडेटा; GameGetCurrentRoomTitle (roomData.title); // गेम के अंदर। सी फ़ाइल इंट गेमगेटक्रूररूम टाइटल (चार * शीर्षक) {title = & amp; gameData.title [0]; वापसी स्ट्रेलन (शीर्षक); }  

इसलिए किसी कारण के लिए जब मैं GameGetCurretRoomTitle () फ़ंक्शन को कॉल करता हूं, यह कमरा Data.title की सामग्री को ठीक से प्रिंट नहीं कर पा रहा है, यह नल छापती है। लेकिन जब मैं फ़ंक्शन के अंदर 'शीर्षक' वर्जन को प्रिंट करता हूं, तो यह काम करता है ... मैंने सभी सही फाइलें, हेडर शामिल कर लिए हैं, और सभी वाक्यविन्यास पूर्ण कोड में सही है ...

फ़ंक्शन के पैरामीटर इसके स्थानीय चर हैं आप इस फ़ंक्शन परिभाषा की कल्पना कर सकते हैं

  int GameGetCurrentRoomTitle (char * title) {title = & amp; gameData.title [0]; वापसी स्ट्रेलन (शीर्षक); }  

और इसका कॉल

  गेमगेटक्रयंटरूमटाइटल (रूमडेटाटिटल);  

पसंद करें

  गेमगेटक्रयंटरूमटाइटल (रूमडेटाटिटल); // ... int GameGetCurrentRoomTitle () {char * title = roomData.title; शीर्षक = & amp; GameData.title [0]; वापसी स्ट्रेलन (शीर्षक); }  

फ़ंक्शन से बाहर निकलने के बाद इसके स्थानीय चर का शीर्षक नष्ट हो जाएगा।

यदि आप चाहते हैं कि मूल पॉइंटर बदल जाएगा तो आपको अपना पता गुजारना होगा। इस मामले में फ़ंक्शन की परिभाषा और उसका कॉल

  GameGetCurrentRoomTitle (& roomData.title) की तरह दिखाई देगा; // ... int गेमगेटक्रूररूमटाइटल (चार ** शीर्षक) {* title = & amp; gameData.title [0]; वापसी स्ट्रेलन (* शीर्षक); }  

No comments:

Post a Comment