Mohssen A Mohssen نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 لدي متغير من نوع std::string ويحتوي على بعض الكلمات الإنجليزية كالتالي: std::string str = "HELLO, WORLD"; كيف يمكنني تحويل هذا النص إلى أحرف صغيرة Lower case؟ في لغات أخرى مثل JavaScript يمكنني أن أستخدم التابع toLower ولكن كيف أقوم بهذا الأمر في ++C؟ 1 اقتباس
1 سامح أشرف نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 يمكنك أن تقوم بهذا الأمر من خلال الدالة std::transform، على النحو التالي: #include <algorithm> #include <string> #include <iostream> int main() { std::string str = "HELLO, WORLD"; std::transform(data.begin(), data.end(), data.begin(), [](unsigned char c) { return std::tolower(c); }); std::cout << str; // hello, world } بهذا الشكل سوف يتم تغير محتوى المتغير str إلى أحرف صغيرة. ويمكنك أيضًا أن تستخدم التابع to_lower من مكتبة boost بشكل أسهل، كالتالي: #include <boost/algorithm/string.hpp> #include <iostream> std::string str = "HELLO, WORLD"; boost::algorithm::to_lower(str); std::cout << str; // hello, wolrd 1 اقتباس
0 Ali Haidar Ahmad نشر 25 نوفمبر 2021 أرسل تقرير نشر 25 نوفمبر 2021 (معدل) فرق قيمة ASCII بين الأحرف الكبيرة والصغيرة هو 32. على سبيل المثال، قيمة ASCII للحرف "B" هي 66 وقيمة ASCII للحرف "b" هي 98. برنامج لتحويل الأحرف الكبيرة إلى أحرف صغيرة: #include <iostream> using namespace std; int main() { char c; // إدخال حرف مكتوب بالحالة الكبيرة cout<<"Enter a character in uppercase: "; cin>>c; // إدخال محرف // تحويله من حرف صغير إلى كبير عبر إضافة 32 c=c+32; cout<<"Entered character in lowercase: "<<c; return 0; } /* Enter a character in uppercase: A Entered character in lowercase: a */ التحويل من أحرف صغيرة إلى كبيرة (سنطرح): #include <iostream> using namespace std; int main() { char c; cout<<"Enter a character in lowercase: "; cin>>c; c=c-32; cout<<"Entered character in lowercase: "<<c; return 0; } /* Enter a character in lowercase: a Entered character in lowercase: A */ برنامج لتحويل سلسلة من المحارف الكبيرة إلى صغيرة(يمكن أن تكون السلسلة بأحرف كبيرة أو مختلطة) وسنعتمد نفس المبدأ السابق: #include <iostream> #include <string> #include <cstring> using namespace std; int main() { // تعريف مصفوفة محارف لتخزين السلسلة char str[50]; int i; // إدخال السلسلة cout<<"Enter the String in uppercase: "; // تخزين السلسلة في مصفوفة المحارف cin>>str; // حلقة لتحويل كل حرف كبير إلى صغير for(i=0;i<=strlen(str);i++) { // قيم الآسكي للأحرف الكبيرة تتراوح بين 65 و 92 // وبالتالي نحن نريد تحويل الأحرف الكبيرة فقط إلى صغيرة // أي أن هذا الشرط لتجنب تعديل الأحرف الصغيرة if(str[i]>=65 && str[i]<=92) { str[i]=str[i]+32; } } cout<<"The entered string in lowercase: "<<str; return 0; } /* Enter the String in uppercase: Hello The entered string in lowercase: hello */ التحويل المعاكس: #include <iostream> #include <string> #include <cstring> using namespace std; int main() { char str[50]; int i; cout<<"Enter the String in lowercase: "; cin>>str; for(i=0;i<=strlen(str);i++) { if(str[i]>=92) { str[i]=str[i]-32; } } cout<<"The entered string in uppercase: "<<str; return 0; } /* Enter the String in lowercase: hello The entered string in uppercase: HELLO */ تم التعديل في 25 نوفمبر 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
السؤال
Mohssen A Mohssen
لدي متغير من نوع std::string ويحتوي على بعض الكلمات الإنجليزية كالتالي:
كيف يمكنني تحويل هذا النص إلى أحرف صغيرة Lower case؟ في لغات أخرى مثل JavaScript يمكنني أن أستخدم التابع toLower ولكن كيف أقوم بهذا الأمر في ++C؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.