Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में __FILE__, __LINE__, और __FUNCTION__ क्या हैं?

यहां हम देखेंगे कि C++ में __FILE, __LINE__ और __FUNCTION__ क्या हैं।

__FILE__

इस मैक्रो का उपयोग वर्तमान फ़ाइल का पथ प्राप्त करने के लिए किया जाता है। यह तब उपयोगी होता है जब हम लॉग फाइल जेनरेट करना चाहते हैं। निम्नलिखित कोड इसकी कार्यक्षमता की व्याख्या करेगा।

उदाहरण

#include<iostream>
using namespace std;
int errorLog (const char* file, const std::string& msg){
   cerr << "[" << file << "] " << msg << endl;
}
#define LOG( msg ) errorLog( __FILE__, msg )
main() {
   LOG("This is a dummy error");
}

आउटपुट

[D:\Misc C and C++ Questions\test_prog.cpp] This is a dummy error

__LINE__

यह मैक्रो स्रोत फ़ाइल में वर्तमान लाइन नंबर ढूंढ सकता है। यह पंक्ति संख्या एक पूर्णांक मान है। जब लॉग स्टेटमेंट जेनरेट हो रहे होते हैं तो __LINE__ कुछ उपयोगी भूमिका निभाता है। विचार प्राप्त करने के लिए निम्न उदाहरण देखें।>

उदाहरण

#include<iostream>
using namespace std;
int errorLog (int line, const std::string& msg){
   cerr << "[" << line << "] " << msg << endl;
}
#define LOG( msg ) errorLog( __LINE__, msg )
main() {
   LOG("This is a dummy error");
}

आउटपुट

[12] This is a dummy error

__FUNCTION__

यह मैक्रो वर्तमान फ़ंक्शन को वापस कर सकता है। जब लॉग स्टेटमेंट जेनरेट हो रहे हों तो __FUNCTION__ कुछ उपयोगी भूमिका निभाता है। विचार प्राप्त करने के लिए निम्न उदाहरण देखें।

long double rintl(long double argument)

उदाहरण

#include<iostream>
using namespace std;
int errorLog (const char* func, const std::string& msg){
   cerr << "[" << func << "] " << msg << endl;
}
#define LOG( msg ) errorLog( __FUNCTION__, msg )
void TestFunction(){
   LOG("Send from Function");
}
main() {
   TestFunction();
   LOG("This is a dummy error");
}

आउटपुट

[TestFunction] Send from Function
[main] This is a dummy error

  1. C++ में वेरिएबल और वेरिएबल के प्रकार क्या हैं?

    एक वेरिएबल हमें नामित स्टोरेज प्रदान करता है जिसे हमारे प्रोग्राम हेरफेर कर सकते हैं। C++ में प्रत्येक वेरिएबल का एक विशिष्ट प्रकार होता है, जो वेरिएबल की मेमोरी के आकार और लेआउट को निर्धारित करता है; उस स्मृति में संग्रहीत किए जा सकने वाले मानों की श्रेणी; और संचालन का सेट जिसे चर पर लागू किया जा स

  1. C++ में cin, cout और cerr स्ट्रीम क्या हैं?

    सिने , cout, cerr, और रोकें वे धाराएँ हैं जो मानक इनपुट और मानक आउटपुट को संभालती हैं। ये iostream हेडर फ़ाइल में परिभाषित स्ट्रीम ऑब्जेक्ट हैं। std:: सिने क्लास आईट्रीम का एक ऑब्जेक्ट है जो संकीर्ण वर्णों (प्रकार के चार) के लिए उन्मुख मानक इनपुट स्ट्रीम का प्रतिनिधित्व करता है। यह सी स्ट्रीम स्टड

  1. C++ में हस्ताक्षरित और अहस्ताक्षरित कीवर्ड क्या हैं?

    C++ में सभी प्रकार के नंबरों में या तो एक चिन्ह हो सकता है या नहीं। उदाहरण के लिए, आप केवल सकारात्मक पूर्णांक का प्रतिनिधित्व करने के लिए एक int घोषित कर सकते हैं। जब तक अन्यथा निर्दिष्ट न हो, सभी पूर्णांक डेटा प्रकार हस्ताक्षरित डेटा प्रकार होते हैं, अर्थात उनके पास ऐसे मान होते हैं जो सकारात्मक या