2009-06-09 16 views
21

मुझे यह सुनिश्चित करने की ज़रूरत है कि मेरे कोड में से कोई भी पंक्ति एक निश्चित लंबाई से अधिक न हो।सी ++ में कोड की लंबी लाइनों को कैसे विभाजित करें?

आम तौर पर मैं उन रेखाओं को अलग करता हूं जहां अल्पविराम या कोई अन्य उपयुक्त ब्रेक होता है।

मैं इस लाइन को 2 में कैसे अलग कर सकता हूं?

cout<<"Error:This is a really long error message that exceeds the maximum permitted length.\n"; 

अगर मैं बीच में कहीं भी प्रवेश करता हूं तो यह काम नहीं करता है।

उत्तर

36

दो विकल्प:

cout << "Error:This is a really long " 
<< "error message that exceeds " 
<< "the maximum permitted length.\n"; 

या:

cout << "Error:This is a really long " 
    "error message that exceeds " 
    "the maximum permitted length.\n"; 

दूसरा एक और अधिक कुशल है।

+10

दूसरे मामले का एक स्पष्टीकरण आसान होगा: एएनएसआई सी स्ट्रिंग अक्षर को समेकित करने की इजाजत देता है, जैसा कि "foo" "bar" "baz" "foobarbaz" – Hasturkun

+7

जैसा होगा संकलक द्वारा संगत, न कि रनटाइम के दौरान। –

19
cout<<"Error:This is a really long error " 
"message that exceeds the maximum permitted length.\n"; 

या

cout<<"Error:This is a really long error \ 
message that exceeds the maximum permitted length.\n"; 

या

c\ 
o\ 
u\ 
t<<"Error:This is a really long error \ 
message that exceeds the maximum permitted length.\n"; 
+3

लाइन के अंत में बैकस्लैश वाले वेरिएंट से बचने के लिए एक मजबूत अनुशंसा के साथ। आपने बैकस्लैश-न्यूलाइन संयोजनों द्वारा कई पंक्तियों पर विभाजित टिप्पणी शुरू करने और अंत प्रतीकों को दिखाने का मौका नहीं लिया। : डी –

8
cout << "Error:This is a really long error message " 
    "that does not exceed the maximum permitted length.\n"; 
0

यह सब सी ++ पर काम करेंगे, मौसम यह वी.एस. है, या लिनक्स

पर
cout<<"Error:This is a really long error message that \ 
    exceeds the maximum permitted length.\n"; 
+7

आप स्ट्रिंग में अतिरिक्त टैब या रिक्त स्थान एम्बेड कर रहे हैं। एक अच्छा विचार नहीं है। – Hasturkun

7

बस मेरे 2 बॉब्स लायक ...

मैं कोड की है कि लाइन लपेट नहीं होता। मैं इसे एक बड़ी लंबी स्ट्रिंग के रूप में छोड़ दूंगा।

80 वर्ण सम्मेलन दिन की मशीनरी की सीमाओं पर आधारित था। टर्मिनलों जहां आम तौर पर 32 वर्णों से 80। सस्ते डॉट-मैट्रिक्स प्रिंटर + सतत-शीट पेपर 80 वर्ण थे। केवल अमीर लोग 132 चरित्र सेटअप कर सकते हैं। और अनुमान लगाएं ... जो लोग इसे 132 अक्षरों पर कोड लपेट सकते हैं, जो नाटकीय रूप से लाइनों की संख्या को कम करता है जिसे लपेटा जाना चाहिए, और "क्लीनर" स्रोत कोड उत्पन्न करता है।

उन बाधाओं को आज लागू नहीं होता है। मेरा टेक्स्ट एडिटर 10pt कूरियर के 52 लाइनों द्वारा 150 कॉलम प्रदर्शित करता है। मेरे काम मॉनीटर 400 से 65 की तरह कुछ प्रदर्शित करेंगे (मैंने कभी इसका परीक्षण नहीं किया है)। मैंने वर्षों में सोर्स कोड की एक पंक्ति मुद्रित नहीं की है ... और आखिरी बार मैंने ऐसा किया था ताकि मैं इसे घर के रास्ते पर बस पढ़ सकूं, जब मेरा लैपटॉप फ़्रिट्ज़ पर था।

आधुनिक langues अधिक "पुरानी शैली" भाषाओं की तुलना में अधिक verbose हैं ... और यह अच्छा है। यदि आपने पास्कल में बीनकॉन्टेक्स्ट सर्विसेज सपोर्ट.बीसीएसएस सेवा प्रदाता को कुछ भी कहा है तो आपके मालिक ने आपको कोने में बैठने के लिए कहा होगा। पास्कल पहचानकर्ता जहां केवल 8 वर्णों के लिए महत्वपूर्ण है!

तो इस भयानक और (मेरे लिए) कष्टप्रद सम्मेलन के साथ क्यों बने रहें? यह बहुत कम व्यावहारिक भावना बनाता है।

तो ... मैं 132 अक्षरों पर "कोड लाइन" लपेटता हूं। मैं "टेक्स्ट लाइन" को लपेटने के लिए परेशान नहीं हूं।

यह भी देखें: The width of two horses arses!

चीयर्स। कीथ।

+12

80 वर्ण सीमा में ऐतिहासिक जड़ों हैं, लेकिन मुख्य रूप से रखा जाता है क्योंकि छोटी रेखाओं को ट्रैक रखने के लिए मानव आंख बेहतर होती है। – bayer

+0

@bayer यह सही है, लेकिन एकल आउटपुट डिवाइस के लिए प्रेजेंटेशन लेयर लागू करना आउटपुट डिवाइस को लाइन लम्बाई निर्धारित करने की अनुमति देने से एक गरीब समाधान है। – mikemaccana

+0

बीटीडब्ल्यू, "दो घोड़े गधे" कहानी एक मिथक है (हालांकि काफी मनोरंजक है) - उदाहरण के लिए देखें https://www.snopes.com/history/american/gauge.asp; या सिर्फ विचार करें कि रेलरोड गेज व्यापक रूप से भिन्न होते हैं (बोस्टन सबवे सिस्टम देखें!) – TextGeek

संबंधित मुद्दे

 संबंधित मुद्दे