का उपयोग कर मैं सी में printf का उपयोग कर स्तंभों प्रिंट करना चाहते हैं मैं इस कोड लिखा है:प्रिंट बराबर-चौड़ाई सी में कॉलम printf स्वरूपण
#include <stdio.h>
void printme(char *txt1, char *txt2, char *txt3)
{
printf("TXT1: %9s TXT2 %9s TXT3 %9s\n", txt1, txt2, txt3);
}
int main()
{
printme("a","bbbbbbbeeeeebbbbb","e");
printme("aaaaaaaa","bbbbbbbbbbbb","abcde");
return 0;
}
यह काम करता है, लेकिन मैं इस तरह के उत्पादन:
TXT1: a TXT2 bbbbbbbeeeeebbbbb TXT3 e
TXT1: aaaaaaaa TXT2 bbbbbbbbbbbb TXT3 abcde
तो कॉलम बराबर चौड़ाई नहीं हैं। मूल रूप से, मैं इसे इस तरह बनाना चाहता हूं, इससे कोई फर्क नहीं पड़ता कि मेरे तर्क में पाठ कितना समय है, मेरा फ़ंक्शन हमेशा एक अच्छा प्रारूपित कॉलम प्रिंट करेगा। सवाल यह है कि मैं यह कैसे कर सकता हूं?
अच्छा saing से मेरा मतलब है कि कोई फर्क नहीं पड़ता कि कितनी देर तक पाठ मैं अपने मुद्रण कार्य करने के लिए पारित, यह हमेशा बाहर बराबर-चौड़ाई कॉलम प्रिंट होगा उदाहरण के लिए,:
मैं इस उत्पादन है कि इस तरह दिखता है:
a cd` fg ij
a cd fg ij
a cd fg ij
ab cd fg ij
ab cd fg i j
ab cd fg ij
ab cd fg ij
ab cde fgh ij
ab cde fgh ij
मैं इसे इस तरह दिखना चाहते हैं (कोई बात नहीं कितनी देर तक अपने पाठ तर्क हो जाएगा):
a cd` fg ij
a cd fg ij
a cd fg ij
ab cd fg ij
ab cd fg ij
ab cd fg ij
ab cd fg ij
ab cde fgh ij
ab cde fgh ij
* अच्छे प्रारूपित कॉलम * में * अच्छा * परिभाषित करें। – ouah
इसलिए अपने टेक्स्ट को पहले से स्कैन करें, पता लगाएं कि सबसे लंबी स्ट्रिंग क्या है, और उस कॉलम पैडिंग मानों के लिए उस लंबाई का उपयोग करें। –
संभवतः http://stackoverflow.com/questions/2956296/printing-values-in-special-format-using-printf –