क्या मानक विंडोज़ .ini फाइलें टिप्पणी की अनुमति देती हैं?


91

क्या विंडोज आईएनआई फाइलों में टिप्पणियों की अनुमति है? ((यह मानते हुए कि आप उन्हें पढ़ने के लिए GetPStreetProfileString एपीआई कार्यों का उपयोग कर रहे हैं ...)

[Section]
Name=Value   ; comment

; full line comment

और, क्या .INI फ़ाइल प्रारूप का कहीं भी उचित नमूना है?

उत्तर के लिए धन्यवाद - हालाँकि शायद मैं पर्याप्त स्पष्ट नहीं था। यह केवल विंडोज एपीआई कॉल्स द्वारा पढ़ा जाने वाला प्रारूप है, जिसमें मुझे दिलचस्पी है। मुझे पता है कि अन्य कार्यान्वयन टिप्पणियों की अनुमति देते हैं, लेकिन यह विशेष रूप से एमएस विंडोज की कल्पना और कार्यान्वयन है जिसके बारे में मुझे जानने की आवश्यकता है।


1
एपीआई मूल्य और टिप्पणी लौटाता है, आपको बस सेमीकॉलन देखने और पढ़ने, या मुठभेड़ के समय इसे पट्टी करने की आवश्यकता होती है, एक नियमित अभिव्यक्ति का उपयोग करके या बस के लिए देखो;
RoguePlanetoid

7
@RoguePlanetoid एक नियमित अभिव्यक्ति, एक ;चरित्र खोजने के लिए ? गंभीरता से !?
IInspectable

1
@IInspectable regex का उपयोग टिप्पणी को पढ़ने के लिए कर सकता है ताकि अर्ध-उपनिवेश के बाद तत्व निकालें, या जैसा कि मैंने अपनी टिप्पणी में उल्लेख किया है या इसके लिए देखो; टिप्पणी को स्वयं निकालने या किसी की उपस्थिति के लिए विकल्प देने पर मुझे लगा कि मेरी टिप्पणी ने जोड़ा मूल्य, बस देख रहा है कि क्या एक अर्ध-बृहदान्त्र अधूरा टिप्पणी थी
RoguePlanetoid

जवाबों:


95

Windows INI API समर्थन इसके लिए:

  • पंक्ति टिप्पणियाँ : हाँ, अर्ध-बृहदान्त्र का उपयोग करना;
  • अनुगामी टिप्पणियां: नहीं

आधिकारिक स्रोत विंडोज एपीआई फ़ंक्शन है जो INI फ़ाइलों से मूल्यों को पढ़ता है

GetPrivateProfileString

एक आरंभिक फ़ाइल में निर्दिष्ट अनुभाग से एक स्ट्रिंग को पुनः प्राप्त करता है।

कारण "पूरी लाइन टिप्पणी" काम क्योंकि अनुरोध मान मौजूद नहीं है। उदाहरण के लिए, जब निम्न iniफ़ाइल सामग्री को पार्स कर रहा हो :

[Application]
UseLiveData=1
;coke=zero
pepsi=diet   ;gag
#stackoverflow=splotchy

मूल्यों को पढ़ना:

  • UseLiveData: 1
  • coke: मौजूद नहीं है
  • ;coke: मौजूद नहीं है
  • pepsi: diet ;gag
  • stackoverflow: मौजूद नहीं है
  • #stackoverflow: splotchy

अद्यतन : मुझे लगता है कि संख्या चिन्ह (#) एक छद्म रेखा-टिप्पणी चरित्र था। # को छिपाने के लिए अग्रणी कार्यों का उपयोग करने का कारण यह stackoverflowहै कि नाम stackoverflowअब मौजूद नहीं है। और यह पता चला है कि अर्ध-उपनिवेश ( एक पंक्ति-टिप्पणी ;) है

लेकिन टिप्पणी करने के लिए कोई समर्थन नहीं है।


3
बहुत उपयोगी उदाहरण हैं, लेकिन मुझे लगता है कि शब्द "पूर्ण लाइन टिप्पणियों का कारण" कार्य है क्योंकि अनुरोधित मूल्य मौजूद नहीं है " पार्स करना मुश्किल है। मैं स्पष्ट कहना चाहूंगा कि विंडोज आईएनआई कार्यान्वयन में कुंजी / मूल्य जोड़ी (यदि मौजूद है) से पहले अर्धविराम की आवश्यकता है, अन्यथा इसे मूल्य का हिस्सा माना जाता है।
ग्रेविटीवेल

@ रोडी यू आर राइट। मैं इस पर ध्यान केंद्रित कर रहा था #कि मैंने इस पर ध्यान नहीं दिया ;। इस उत्तर को इंगित करने के लिए निश्चित करें कि अर्ध-उपनिवेश वास्तव में एक पंक्ति टिप्पणी है।
इयान बॉयड

29

मैंने आईएनआई फाइलों में टिप्पणियां देखी हैं, इसलिए हां। कृपया इस विकिपीडिया लेख का संदर्भ लें । मुझे एक आधिकारिक विनिर्देश नहीं मिला, लेकिन यह टिप्पणियों के लिए सही वाक्यविन्यास है, क्योंकि कई गेम INI फ़ाइलों में यह था जैसा कि मुझे याद है।

संपादित करें

API मान और टिप्पणी लौटाता है (मेरे उत्तर में इसका उल्लेख करना भूल गया), बस INI फ़ाइल का निर्माण और उदाहरण दें और इस पर एपीआई (टिप्पणियों के साथ) को कॉल करें और आप देख सकते हैं कि यह कैसे लौटाया गया है।


1
स्रोतों का उपयोग करते समय, यह सबसे अधिक आधिकारिक स्रोत और फिर किसी भी सहायक स्रोतों का उपयोग करने के लिए अधिक समझ में आता है।
माइक कॉलिन्स

1
यकीन है कि यह एक अच्छा विचार है - यह इंगित करने के लिए कभी भी देर नहीं हुई है कि - सात साल बाद भी
RoguePlanetoid


1

हाँ। INI फ़ाइल प्रारूप के विकिपीडिया और क्लान्टो कार्यान्वयन पर एक नज़र डालें (पृष्ठ के नीचे देखें)।


9
उम ... आपको क्या लगता है कि यह INI फ़ाइलों पर आधिकारिक कल्पना है?
रूबेन

यद्यपि क्लान्टो कार्यान्वयन आधिकारिक कल्पना नहीं हो सकता है, मुझे उनका स्पष्टीकरण पसंद आया।
कोकीबॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.