मैं (stderr) त्रुटि को कैसे पुनर्प्राप्त/प्रिंट करूं?"?


ठीक है, आरटीएफएम के बाद मुझे पता है कि “फ़ंक्शन बाइंड” विफलता पर “त्रुटि” सेट करता है …
1. क्या मुझे नीचे दिए गए कोड से ऐसी जानकारी मिल सकती है?
(मैं विशिष्ट “त्रुटि” के लिए नहीं पूछ रहा हूँ, केवल एक संकेतक – कोड में – कि फ़ंक्शन (stderr) “त्रुटि” सेट करता है।
2. त्रुटि के वास्तविक पाठ को भौतिक रूप से पुनः प्राप्त करने का सबसे सीधा तरीका क्या है – यह मानते हुए कि यह “stderr” है?
मैं बस इसे दिखाना चाहता हूं, मुझे इसे लॉग इन करने या किसी फ़ाइल में सहेजने की आवश्यकता नहीं है (जो कि सबसे आम तरीका लगता है)।

सी++
/**
   *  @brief Function template for std::bind.
   *  @ingroup binders
   */
  template<typename _Func, typename... _BoundArgs>
    inline _GLIBCXX20_CONSTEXPR typename
    _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
    bind(_Func&& __f, _BoundArgs&&... __args)
    {
      typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
      return typename __helper_type::type(std::forward<_Func>(__f),
					  std::forward<_BoundArgs>(__args)...);
    }

मैंने क्या प्रयास किया है:

प्रक्रिया प्रारंभ करने का असफल प्रयास किया और stderr पढ़ा।

समाधान 1

रिचर्ड की टिप्पणी सही है और आपका प्रश्न वास्तव में बिल्कुल भी स्पष्ट नहीं है।

सामान्यतः जब कोई लिखना चाहता है stderr आप ऐसा कुछ करें:

सी++
fprintf( stderr, "Error at line %d of %s\n", __LINE__, __FILE__ );

stderrपसंद stdoutको किसी फ़ाइल पर भी पुनर्निर्देशित किया जा सकता है।

コメント

タイトルとURLをコピーしました