C++ String To Upper ve To Lower Fonksiyonları Kullanımı

C++ String To Upper ve To Lower Fonksiyonları Kullanımı

C++ programlama dilinde toUpper ve toLower fonksiyonları sayesinde string ifadeler içindeki tüm alfabetik karakterleri büyük ve küçük harfe dönüştürmek mümkündür Bu fonksiyonlar, C++'ın string kütüphanesi içinde yer almaktadır ve parametre olarak aldıkları string ifadeyi işleyerek sonucu yeni bir string olarak döndürürler Bu fonksiyonların kullanımı oldukça basit olmasına rağmen, Türkçe karakterli string ifadelerde kullanımı bazı sorunlar ortaya çıkarabilir Bu yüzden, bu karakterleri dönüştürmek için özel bir fonksiyon kullanmak gerekebilir

C++ String To Upper ve To Lower Fonksiyonları Kullanımı

C++ programlama dilinde bulunan bazı fonksiyonlar sayesinde bazı işlemler oldukça kolay bir şekilde yapılabilir. Bu yazımızda toUpper() ve toLower() fonksiyonlarının nasıl kullanıldığı hakkında bilgi vereceğiz.

toUpper() fonksiyonu, string ifade içindeki tüm alfabetik karakterleri büyük harfe çevirir. Bu fonksiyon, C++ programlama dilinin string kütüphanesi içinde yer almaktadır. Bu fonksiyon, büyük küçük harf duyarlı olmayan uygulamalar yazarken oldukça işe yarar bir hale gelir.

toLower() fonksiyonu ise string ifade içindeki tüm alfabetik karakterleri küçük harfe çevirir. Bu fonksiyon da toUpper() fonksiyonu gibi string kütüphanesi içerisinde yer almaktadır. Bu fonksiyon ile de benzer şekilde büyük küçük harf duyarlı olmayan uygulamalar yazarken kolaylık sağlanır.

Her iki fonksiyon da, içlerine parametre olarak aldıkları string ifadeleri işleyerek sonucu yeni bir string olarak döndürürler. Dolayısıyla, bu fonksiyonların kullanımı oldukça basittir. İsterseniz, örnek uygulamalarla beraber detaylı olarak inceleyebiliriz.


toUpper() Fonksiyonu

C++ programlama dilinde bulunan toUpper() fonksiyonu, string ifadelerdeki tüm küçük harfleri otomatik olarak büyük harflere dönüştürür. Bu fonksiyonun kullanımı oldukça basittir ve farklı senaryolarda kullanılabilmektedir. Bu fonksiyonun temel kullanımı aşağıdaki gibidir:

#include #include using namespace std;int main() {  string str = "merhaba dunya";  for(int i = 0; i < str.size(); ++i) {    str[i] = toupper(str[i]);  }  cout << str;  return 0;}

Bu örnekte, toUpper() fonksiyonu for döngüsü kullanılarak string ifadenin her karakteri için uygulanmaktadır. Fonksiyon, küçük harfler yerine büyük harfleri kullanan aynı string ifadesini döndürür.

ToUpper() fonksiyonunun yanı sıra, başka senaryolarda da kullanılabilir. Örneğin, büyük harflerden oluşan bir string ifade verilmiş olsun. Bu durumda, strings toUpperCase () fonksiyonu kullanılarak kontrol edilir ve eğer başka harfler varsa, bu harfler de büyük harflere dönüştürülür.


toLower() Fonksiyonu

C++ programlama dilindeki toLower() fonksiyonu string ifadenin tamamını küçük harflere çevirmek için kullanılır. Bu fonksiyon, yüksek kullanılabilirliği sayesinde C++ programlama dilinde oldukça sık kullanılır ve genel olarak string kütüphanesi içerisinde yer alır.

Birçok durumda, kullanıcının verdiği input cümle veya kelime, programlama dilinde işlem yapmak için kullanılabilecek uygun formatta gelmez. Bu durumda, toLower() fonksiyonu kullanarak küçük harfli hale çevrilebilir. Fonksiyonun kullanışlılığı, C++ programlama dilinde string ifadelerindeki küçük harfleri büyük harflere dönüştürmenin yanı sıra, string ifadelerindeki karakterleri değiştirmek için de kullanılabileceğinden büyük önem taşır.

İki adet büyük harfli karakterlerin tanımlanarak yaratılmış bir örnek üzerinden toLower() fonksiyonunun kullanımını açıklayalım:

Örnek toLower() Kodu Beklenen Çıktı
      #include <iostream>      #include <string>      int main() {          std::string str = "HELLO WORLD";          for (char& c : str) {              c = std::tolower(c);          }          std::cout << str << std::endl;          return 0;      }      
"hello world"

Yukarıdaki örnekte tolower() fonksiyonu kullanılarak "HELLO WORLD" ifadesi "hello world" ifadesine dönüştürülmüştür. Aynı zamanda, örnek de gösterdiği gibi, toLower() fonksiyonu string ifadelerdeki tüm karakterleri küçük harfe çevirmek için de kullanılabilir.

Bununla birlikte, Türkçe karakterli string ifadelerin küçük harfe çevrilmesi toLower() fonksiyonu kullanılarak yapılırken bazı sorunlar ortaya çıkabilir. Türkçe karakterlerin tamamı ASCII karakter setinde yer almadığı için, bu karakterlerin küçük harfe çevrilmesi için özel bir işlem gerektirir.

  • Örneğin, "ÇİÇEK" ifadesi toLower() fonksiyonu kullanılarak "çiçek" haline getirilemez
  • Bunun yerine, bunun için bir özel fonksiyon kullanmak gerekir

Sonuç olarak, toLower() fonksiyonu C++ programlama dilinde string ifadelerindeki tüm harfleri küçük harfe çevirir. Ancak, Türkçe karakterli string ifadelerde kullanımı özel bir işlem gerektirir.


toUpper() Kullanarak Büyük Harfe Çevirme

C++ programlama dilindeki toUpper() fonksiyonu sayesinde string ifadeyi büyük harflere dönüştürmek mümkündür. Bu fonksiyon, string ifade üzerinde değişiklik yaparak her harfi büyük harfe çevirir. Bu fonksiyonun kullanımı oldukça basittir ve kullanıcı tarafından girilen string ifadesi fonksiyonun içerisine parametre olarak verilerek kullanılabilir.

Örneğin, "hello world" ifadesini büyük harflere dönüştürmek için şu kod satırı kullanılabilir:

string str = "hello world";transform(str.begin(), str.end(),str.begin(), ::toupper);

Bu kod satırı sayesinde, "hello world" ifadesi "HELLO WORLD" şeklinde değiştirilecektir. toUpper() fonksiyonu, Türkçe karakterli string ifadelerde ise bazı hatalar verebilmektedir. Örneğin, "istanbul" ifadesini büyük harflere dönüştürmek istediğimizde sonuç "İSTANBUL" yerine yanlış bir şekilde "ISTANBUL" olabilmektedir. Bu sorunu gidermek için ise locale ayarlarında Türkçe dil seçeneği belirtilmelidir.


Büyük Harf Dönüşümü Örnekleri

toUpper() fonksiyonu, string ifadeyi büyük harflere dönüştürmek için kullanılır. Bu fonksiyon kullanılarak, bir string ifadenin tamamı büyük harflere dönüştürülebilir. Örneğin;

String ifade Dönüştürülmüş hali
merhaba dünya MERHABA DÜNYA
c++ programlama dili C++ PROGRAMLAMA DİLİ

Aynı zamanda sadece belirli bir bölüm de dönüştürülebilir. Örneğin;

String ifade Dönüştürülmüş hali
Merhaba Dünya MERHABA dünya
C++ Programlama Dili c++ PROGRAMLAMA dili

Görüldüğü gibi, büyük harf dönüşümü için toUpper() fonksiyonu oldukça kullanışlıdır.


Türkçe Karakterlerin Büyük Harf Dönüşümü

C++ programlama dilinde toUpper() fonksiyonu, bir string ifadeyi tamamı büyük harf haline çevirir. Ancak, Türkçe karakterlerin büyük harf dönüşümü konusunda bir sorun yaşanabilir.

Türkçe alfabede, "i" harfinin noktalı ve noktasız iki şekli vardır. Ancak, toUpper() fonksiyonu sadece noktalı olanı tamamı büyük harf haline getirirken, noktasız olanını ise "İ" harfi olarak dönüştürür. Bu bazı durumlarda istenmeyen sonuçlar doğurabilir.

Bu sorunu çözmek için, programcılar yeni bir fonksiyon kullanabilirler. Noktalı "i" harfini "ı" harfine, noktasız "İ" harfini ise "i" harfine dönüştüren bir fonksiyon yaratılabilir. Bu fonksiyon, string ifadelerin Türkçe karakterli hallerinde büyük harf dönüşümü yapmak için kullanılabilir.


toLower() Kullanarak Küçük Harfe Çevirme

C++ programlama dilindeki toLower() fonksiyonu, string ifade içerisindeki tüm harfleri küçük harflere çevirir. Bu fonksiyon, özellikle kullanıcının inputlarına göre string işlemleri gerçekleştirirken kullanışlıdır.

Bu fonksiyon kullanılarak aynı zamanda string ifade içerisindeki büyük harfleri küçük harflere çevirerek, kullanıcının veri girişinde yapabileceği büyük-küçük harf hatalarını önleriz. Örneğin, "KLAVYE" yazılmış bir veriyi "klavye" olarak kullanmak istediğimizde toLower() fonksiyonunu kullanabiliriz.

toLower() fonksiyonunun kullanımı oldukça basittir. Fonksiyonu kullanabilmek için, öncelikle std isim uzayını içe aktarmamız gerekiyor. Daha sonra, kullanmak istediğimiz string ifadesini belirlediğimiz bir değişkene atamamız gerekiyor. Son olarak, toLower() fonksiyonunu kullanarak string ifadesini küçük harflere dönüştürebiliriz.

Aşağıda toLower() fonksiyonunun kullanımına örnekler verilmiştir:

String İfade Küçük Harf Dönüşümü
HELLO WORLD hello world
MerHaBa merhaba
c++ PROGRAMLAMA c++ programlama

toLower() fonksiyonu, Türkçe karakterler içeren string ifadelerde de kullanılabilir. Ancak, küçük harf dönüşümü esnasında bazı hatalarla karşılaşılabilir. Bu hataların en önemlisi Türkçe karakterlerdeki "ı" harfidir. "ı" harfi, büyük harfe dönüştürülemediği için, toLower() fonksiyonu da küçük harfe dönüştürememektedir. Bu durumda, string ifade içerisindeki "ı" harfi, kullanılan programlama dilinde "i" harfi olarak belirtilmelidir. Aksi takdirde, program hata verecektir.

Özetle, toLower() fonksiyonu C++ programlama dilinde kullanılan string işlemlerinde oldukça yararlı bir fonksiyondur. String ifade içerisindeki tüm harfleri küçük harflere dönüştürerek büyük-küçük harf hatalarını önlememize yardımcı olur. Ancak, Türkçe karakterlerde kullanımı esnasında dikkatli olunması gerekmektedir.


Küçük Harf Dönüşümü Örnekleri

toLower() fonksiyonu kullanılarak string ifadelerin küçük harflere dönüştürülmesi oldukça kolaydır. Bir örnek üzerinden bu işlemin nasıl yapıldığı açıklanabilir. Örneğin;

Orjinal String Küçük Harf Dönüşümü
"MERHABA DÜNYA" "merhaba dünya"
"BİLGİSAYAR MÜHENDİSLİĞİ" "bilgisayar mühendisliği"

Gördüğünüz gibi, toLower() fonksiyonu kullanarak önceden büyük harflerle yazılmış olan string ifadeler kolayca küçük harflere dönüştürülebiliyor. Bu işlem Türkçe karakterli string ifadeler için de geçerlidir fakat bazı hatalarla karşılaşılabilir.

Örnek olarak;

Orjinal String Küçük Harf Dönüşümü
"ÇİÇEK" "Çiçek"
"İSTANBUL" "ıstanbul"

Görüldüğü gibi, "ÇİÇEK" örneğinde toLower() fonksiyonu doğru sonucu döndürürken, "İSTANBUL" örneğinde hatalı bir sonuç elde edilmiştir. Bu hatalar, Türkçe karakterlerin Unicode standardına göre atanmış olan ASCII kodlarından kaynaklanır.

Bu hataların giderilmesi için ise ek işlemler yapılması gerekmektedir. Bu işlemler hakkında detaylı bilgiye "Türkçe Karakterlerin Küçük Harf Dönüşümü" başlıklı kısımdan ulaşabilirsiniz.


Türkçe Karakterlerin Küçük Harf Dönüşümü

C++ programlama dilinde toLower() fonksiyonunu kullanarak string ifadeyi küçük harflere dönüştürürken, özellikle Türkçe karakterlerde bazı hatalarla karşılaşabilirsiniz.

Genellikle toLower() fonksiyonu kullanıldığında, string ifade içinde yer alan Türkçe karakterler doğru bir şekilde küçük harfe dönüştürülmez. Örneğin, İ, I, Ğ, ğ harfleri yanlış bir şekilde değiştirilebilir. Bu durum, çıktının istenilen sonuç yerine farklı bir sonuç vermesine neden olur ve programınızın çalışmasını engelleyebilir.

Bu hataları gidermek için, öncelikle string'in niteliğine bağlı olarak farklı yaklaşımlar gerekebilir. Ancak, genel olarak, string ifadelerinde yer alan Türkçe karakterleri küçük harfe dönüştürmek için toLower() fonksiyonu yerine, kendiniz bir dönüştürme işlemi yazmanız gerekebilir.

Aşağıda örnek olan bir fonksiyon, Türkçe karakterlerin doğru bir şekilde küçük harfe dönüştürülmesine yardımcı olabilir:

std::string turkishToLower(std::string str){    std::string newStr = "";    for (int i = 0; i < str.length(); i++)    {        if (str[i] == 'I')            newStr += "ı";        else if (str[i] == 'İ')            newStr += "i";        else if (str[i] == 'Ğ')            newStr += "ğ";        else if (str[i] == 'Ü')            newStr += "ü";        else if (str[i] == 'Ş')            newStr += "ş";        else if (str[i] == 'Ö')            newStr += "ö";        else            newStr += tolower(str[i]);    }    return newStr;}

Bu örnek fonksiyon, toLower() fonksiyonu yerine kullanılabilir ve Türkçe karakterlerin doğru bir şekilde küçük harfe dönüştürülmesini sağlar.

Genel olarak, C++ programlama dilindeki toLower() fonksiyonunu kullanarak string ifadeyi küçük harflere dönüştürürken, Türkçe karakterleri doğru bir şekilde dönüştürmek için ek işlemler yapılması gerekebilir. Yukarıdaki örnek fonksiyon, bu işlemlerin örneklerinden biridir.


Sonuç

Yukarıda bahsettiğimiz gibi C++ programlama dilindeki toUpper() ve toLower() fonksiyonları, string ifadeleri büyük harfe veya küçük harfe çevirmek için oldukça kullanışlıdır. Bu fonksiyonlar sayesinde, bir string ifade içerisindeki harfleri tek tek değiştirmek yerine, tek bir fonksiyon kullanarak büyük/küçük harf dönüşümü işlemi gerçekleştirilebilmektedir.

Ayrıca, yine bahsettiğimiz gibi Türkçe karakterlerin büyük/küçük harf dönüşümleri konusunda dikkatli olunması gerekmektedir. Bu karakterlerin özel harfler içermesi nedeniyle, bazı durumlarda toUpper() veya toLower() fonksiyonları doğru sonuç veremeyebilir. Ancak, bu sorunlar için de çözüm yolları mevcuttur ve bu yolları kullanarak Türkçe karakterli string ifadelerde de doğru büyük/küçük harf dönüşümü işlemleri gerçekleştirilebilir.

Özetle, C++ programlama dilindeki toUpper() ve toLower() fonksiyonları, string ifadeleri büyük/küçük harfe çevirme işlemleri için oldukça kullanışlı araçlardır. Ancak, bu fonksiyonlar kullanılırken Türkçe karakterlerin özel durumlarına dikkat edilmesi gerekmektedir. Doğru kullanım ve bilinçli yaklaşım ile bu fonksiyonlar sayesinde kolay ve hızlı bir şekilde büyük/küçük harf dönüşümü işlemleri gerçekleştirilebilir.