اذهب إلى المحتوى

السؤال

نشر

أريد أن أقوم بتغيير حالة الأحرف الكبيرة إلى أحرف صغيرة في السلسلة النصية باستخدام لغة السي بلس بلس فكيف أستطيع فعل ذلك ؟ وهل هنالك طريقة لمعرفة ذلك بدون حلقة التكرار ؟

Recommended Posts

  • 0
نشر

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

#include <algorithm>
#include <string>

std::string data = "Abc";
std::transform(data.begin(), data.end(), data.begin(), ::tolower);

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

#include <boost/algorithm/string.hpp>    

std::string str = "HELLO, WORLD!";
boost::algorithm::to_lower(str);

إذا لم ترد استخدام  tolower فيمكنك في هذه الحالة استخدام هذه الطريقة، لكن لا أنصحك باستخدامها لأن الأولى أفضل بكثير:

char easytolower(char in){
  if(in<='Z' && in>='A')
    return in-('Z'-'z');
  return in;
}

std::transform(data.begin(), data.end(), data.begin(), easytolower);

المصدر

  • 0
نشر
بتاريخ On 10/3/2015 at 22:41 قال MaxReve:

أريد أن أقوم بتغيير حالة الأحرف الكبيرة إلى أحرف صغيرة في السلسلة النصية باستخدام لغة السي بلس بلس فكيف أستطيع فعل ذلك ؟ وهل هنالك طريقة لمعرفة ذلك بدون حلقة التكرار ؟

مشاء الله كل صحابي كلاب ضاله ياخي عايزين ضرب الصرمه عشق النسوان والخمره ناجسكو 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...