c - A Beginner's scanf_s() Disability -


  आंत मुख्य (शून्य) {char tmp, arr [100]; Int i, k; Printf ("एक स्ट्रिंग दर्ज करें:"); Scanf_s ("% s", arr); के लिए (k = 0, i = (strlen (arr) - 1); k & lt; (int) (strlen (arr) / 2); -i, ++ k) {tmp = arr [k]; Arr [k] = आर्म [i]; एआरआर [आई] = टीएमपी; } रखता है (एआर); वापसी 0; }  

मुझे पता है कि scanf_s () के बारे में कुछ अजीब है लेकिन मैं इस मुद्दे को हल नहीं कर सका। मेरा कोड scanf () का उपयोग करके अच्छी तरह से काम करता है लेकिन यह सरणी के तत्वों को उल्टा नहीं करता है :( किसी भी मदद की सराहना की जाएगी। धन्यवाद।

scanf_s को बफर आकार को दूसरे पैरामीटर के रूप में पारित करने की आवश्यकता होती है।

  int iNumFilled1 = scanf_s ("% s", arr); int iNumFilled2 = ; (एफएआई) ("% s", एआर, _countof (arr));; (iNumFilled1 == 0);; (iNumFilled2 == 1);  

आप एक चौड़ाई निर्दिष्टकर्ता भी पास कर सकते हैं; यदि पारित किया गया है और यह बफ़र में फिट नहीं है तो आपके पास केवल 'चौड़ाई निर्दिष्ट' वर्ण होगा।

  // 99 अक्षरों से अधिक एक स्ट्रिंग इनपुट iNumFilled3 = _tscanf_s (_T ("% 99 अंक ", arr, _countof (arr));; (iNumFilled3 == 1); फिर से 99 वर्णों की तुलना में एक स्ट्रिंग डालें, लेकिन कोई चौड़ाई निर्दिष्ट करने वाला इंट INumFilled4 = _tscanf_s (_T ("% s "), arr , _countof (arr));; (iNumFilled4 == 0);  

Comments