"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية محاذاة سلاسل الإخراج إلى اليمين عند التنسيق في C++؟

كيفية محاذاة سلاسل الإخراج إلى اليمين عند التنسيق في C++؟

تم النشر بتاريخ 2024-11-07
تصفح:804

How to Right-Align Output Strings When Formatting in C  ?

تنسيق سلاسل الإخراج بمحاذاة لليمين في لغة C

عند معالجة الملفات النصية التي تحتوي على بيانات، مثل الإحداثيات، تظهر الحاجة إلى محاذاة العناصر في الأعمدة للتنسيق المناسب غالبا ما ينشأ. في لغة C، يعد التعامل مع سلاسل الإخراج أمرًا بالغ الأهمية لتحقيق هذه المحاذاة. تتناول هذه المقالة مسألة محاذاة سلاسل الإخراج إلى اليمين، وتوفير الحلول باستخدام تقنيات C القياسية.

لمعالجة ملف نص الإدخال، يتم استخدام الدالة line.split() لتحديد كل سطر في x، y. و إحداثيات ض. بعد المعالجة، الهدف هو إعادة كتابة الإحداثيات إلى ملف txt مع المحاذاة الصحيحة لمطابقة تنسيق ملف الإدخال.

في البداية، يتم إنشاء السطر الجديد باستخدام تسلسل السلسلة:

line_new = words[0]    '  '   words[1]    '  '   words[2];

ومع ذلك، لا يوفر هذا الأسلوب المحاذاة المطلوبة. لتحقيق هذه المحاذاة، يمكننا استخدام تقنيات تنسيق السلسلة.

استخدام تنسيق السلسلة C

يوفر C عدة طرق لتنسيق السلاسل، بما في ذلك بناء جملة str.format الحديث و التنسيق القديم بنمط printf.

استخدام str.format

يسمح بناء جملة str.format بتنسيق مرن للسلسلة، مما يتيح سهولة المحاذاة ومواصفات عرض الحقل. لمحاذاة كل إحداثي إلى اليمين، يمكن استخدام الصيغة التالية:

line_new = '{:>12}  {:>12}  {:>12}'.format(word[0], word[1], word[2]);

يحدد بناء الجملة هذا أنه يجب محاذاة كل إحداثي إلى اليمين بعرض حقل يبلغ 12 حرفًا.

استخدام printf -تنسيق النمط

بالنسبة للإصدارات الأقدم من لغة C التي لا تدعم تنسيق str.format، يمكن استخدام تنسيق نمط printf. هذا الأسلوب أقل مرونة ولكنه لا يزال يسمح بمواصفات عرض الحقل:

line_new = 's  s  s' % (word[0], word[1], word[2]);

يحدد بناء الجملة هذا أيضًا عرض حقل مكون من 12 حرفًا لكل إحداثي.

باستخدام تقنيات تنسيق السلسلة هذه، يصبح من السهل محاذاة الإحداثيات إلى اليمين عند الكتابة إلى ملفات txt.

بيان الافراج تم نشر هذه المقالة على: 1729593378 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3