Programlama dillerinde en sık kullanılan veri tiplerinden biri olan string, karakterlerin bir araya gelerek oluşturduğu bir karakter dizisidir Metinlerin işlenmesinde sıkça kullanılan string veri tipi özellikle C++ programlama dilinde yaygın bir şekilde kullanılır Web sayfalarında formlarda, veritabanı işlemlerinde kullanılan string veri tipi, manipülasyon işlemleri için birçok hazır fonksiyon da içermektedir Örneğin, uzunluğunu öğrenmek, iki string ifadesi birleştirme veya belli bir karaktere göre ayırma işlemleri yapmak mümkündür C++ dilinde bulunan hazır string fonksiyonları arasında length, append, compare, substr gibi fonksiyonlar bulunmaktadır Bu fonksiyonlar sayesinde string veriler üzerinde işlemler yapmak oldukça kolaydır ve programcılara büyük kolaylık sağlar
String veri tipi, programlama dillerinde en sık kullanılan veri tiplerinden biridir. ASCII kod tablosunda yer alan karakterlerin bir araya gelerek oluşturduğu bir karakter dizisidir. Bu karakter dizilerinin kullanım alanları oldukça geniştir ve çoğunlukla metinlerin işlenmesinde kullanılır.
String veri tipi, özellikle C++ programlama dilinde oldukça yaygın bir şekilde kullanılır. Bu dilde string veri tipinin manipülasyonu için birçok hazır fonksiyon da bulunmaktadır. Bu fonksiyonlar sayesinde string veriler üzerinde birtakım işlemler yapmak mümkündür. Bunların başında, karakter sayısını öğrenmek, iki string ifadesini birleştirme, bir string ifadesine karakter eklemek, bir string ifadesini belli bir karaktere göre ayırmak gibi işlemler gelir.
Özellikle web sayfalarında kullanılan formlarda, kullanıcının girdiği değerlerin doğruluğunu kontrol etmek ve uygun hale getirmek için string veri tipleri oldukça önemlidir. Bunun yanı sıra, veritabanları ile yapılan işlemlerde de sıklıkla kullanılırlar. String veri tipinin kullanım alanları oldukça geniş olsa da, manipülasyon işlemleri bir o kadar kolaydır ve programcılara büyük kolaylık sağlar.
String Fonksiyonları
String Fonksiyonları
C++ dilinde hazır string fonksiyonları bulunmaktadır. Bu fonksiyonlar, string veri tipi üzerinde çeşitli işlemler yapmak için kullanılır. İşte bazı string fonksiyonları:
string::length()
: Bu fonksiyon, belirtilen stringin karakter sayısını döndürür.string::append()
: Bu fonksiyon, bir stringe başka bir string ekler.string::compare()
: Bu fonksiyon, iki string için karşılaştırma yapar.string::substr()
: Bu fonksiyon, bir stringin belli bir kısmını alır.
Bu fonksiyonların kullanımı oldukça basittir. Örneğin, length()
fonksiyonunu kullanarak bir stringin karakter sayısını öğrenmek için aşağıdaki kodu kullanabilirsiniz:
Kod: |
|
---|---|
Çıktı: |
|
Bu kod, myString
değişkeninin uzunluğunu length
değişkenine atar ve bunu ekrana yazdırır.
Bir diğer örnek olarak, append()
fonksiyonu kullanarak iki stringi birleştirebilirsiniz:
Kod: |
|
---|---|
Çıktı: |
|
Bu kod, myString1
değişkenine "Merhaba "
değerini atar ve daha sonra append()
fonksiyonunu kullanarak bu stringe "Dünya"
stringini ekler.
Yukarıda gösterilen fonksiyonlar dışında da birçok hazır string fonksiyonu mevcuttur ve kullanımları oldukça kolaydır.
string::length() Fonksiyonu
String veri tipi C++ dilinde sıklıkla kullanılan bir tipdir ve içerisinde karakter dizisi barındırır. Bu karakter dizisindeki karakter sayısını öğrenmek için length() fonksiyonu kullanılır. Bu fonksiyon karakter sayısı haricinde diğer karakterlerin sayısını hesaplamaz ve yalnızca karakter sayısını döndürür.
string::length() fonksiyonu tek başına kullanılabildiği gibi, cümlelerin, kelime gruplarının ve diğer manipülasyon işlemlerinin sonuçlarını da hesaplamada kullanılabilir. Ayrıca, bir string değişkeninin boş olup olmadığını kontrol etmek için de kullanılabilir. Bu fonksiyonun kullanımı oldukça kolaydır ve C++ dilinde string veri tipi ile birlikte sıklıkla kullanılır.
Fonksiyon Adı | Açıklama | Geri Dönüş Değeri |
---|---|---|
length() | Bir string nesnesindeki karakter sayısını hesaplar | unsigned int |
Bu fonksiyonun kullanımı oldukça basittir. Aşağıdaki örnek C++ kodu bu fonksiyonun nasıl kullanılacağını göstermektedir:
#include#include using namespace std;int main() { string str = "Merhaba Dunya!"; unsigned int length = str.length(); cout << "Karakter sayisi: " << length << endl; return 0;}
Yukarıdaki örnekte, length() fonksiyonu bir string nesnesindeki karakter sayısını hesaplamak için kullanılmaktadır. Bu fonksiyon sonucunda hesaplanan karakter sayısı ekrana yazdırılır. Bu örnekte, "Merhaba Dunya!" karakter dizisi kullanılmıştır, ve sonuç olarak ekrana 14 yazılır.
length() fonksiyonunun kullanımı oldukça basittir ve kolayca anlaşılabilir. Bu fonksiyon C++ dilinde string veri tipi ile birlikte kullanıldığında, çok sayıda işlem için kullanılabilir ve string manipülasyonu için temel bir parçadır.
Kodu Örneklendirme
Bir string ifadesinde karakter sayısını öğrenmek istediğinizde, C++ dilinde length() fonksiyonunu kullanabilirsiniz. Bu fonksiyon, string veri tipinin uzunluğunu döndürür.
Aşağıdaki örnekte, length() fonksiyonunun nasıl kullanıldığını görebilirsiniz:
Kod: | |
---|
Bu kodda, öncelikle "kelime" adlı bir string oluşturulur ve içine "Merhaba Dunya" ifadesi atanır. Ardından, "uzunluk" adlı bir tamsayı değişkeni tanımlanır ve bu değişkene kelime.length() fonksiyonu atanarak, kelimenin karakter sayısı alınır. Son olarak, cout komutuyla karakter sayısı ekrana yazdırılır.
Örnek Uygulama
length() fonksiyonunun kullanımı ile yapılan bir uygulama örneği:
Bir şehrin ismini kullanıcıdan alan ve bu ismin uzunluğunu hesaplayan bir program yazalım. Bu program, kullanıcının girdiği şehir isminin uzunluğunu hesaplar ve daha sonra ekrana bu uzunluğu yazdırır.
Bu programı yazmak için öncelikle string veri tipinin length() fonksiyonunu kullanmamız gerekiyor. Kullanıcıdan aldığımız veriyi bir string değişkene atayacak ve sonrasında bu string değişkenindeki karakter sayısını length() fonksiyonu ile hesaplayacağız.
Adım | Açıklama | Kod Parçası | |
---|---|---|---|
1 | Kullanıcının şehir ismini girmesini isteyin. | cout << "Lütfen bir şehir ismi girin: "; | |
2 | Kullanıcının girdiği şehir ismini bir string değişkeninde saklayın. | string sehirIsim; | cin >> sehirIsim; |
3 | String değişkenindeki karakter sayısını length() fonksiyonu ile hesaplayın. | int karakterSayisi = sehirIsim.length(); | |
4 | Karakter sayısını ekrana yazdırın. | cout << "Girdiğiniz şehir isminin uzunluğu: " << karakterSayisi << endl; |
Bu programı yazdığımızda kullanıcıdan aldığımız şehir isminin uzunluğunu ekrana yazdıracak ve kullanıcının girdiği şehir isminin karakter sayısını hesaplayacak. Örneğin, kullanıcının "Ankara" girdiği durumda ekrana "Girdiğiniz şehir isminin uzunluğu: 6" yazdırılacaktır.
string::append() Fonksiyonu
C++ dilinde string veri tipinde kullanılan durumlardan biri de, mevcut bir string'e yeni karakterler eklemektir. Bu işlem için kullanılan fonksiyon, string::append() fonksiyonudur.
string::append() fonksiyonu, parametre olarak verilen karakterleri, çağrılan string ifadesine ekler. Bu fonksiyon, string'in sonuna istenen karakterleri eklemek için kullanılabilir.
Fonksiyonun kullanımı oldukça basittir. Öncelikle, verilen string ifadesi üzerinde işlem yapmak için bir string değişkeni tanımlamak gerekmektedir. Sonra, string::append() fonksiyonu çağrılır ve parametre olarak eklenmek istenen karakterler verilir.
Kullanım Şekli | Açıklama |
---|---|
string.append("eklenecek karakterler") | Belirtilen karakterleri string'in sonuna ekler. |
string::append() fonksiyonu, sadece karakterleri değil, aynı zamanda başka bir string ifadesini de ekleyebilir. Bunun için, fonksiyon parametresi olarak başka bir string ifadesi verilir ve bu string ifadesi çağrılan string'e eklenir.
Kullanım Şekli | Açıklama |
---|---|
string1.append(string2) | string2 ifadesini string1 ifadesinin sonuna ekler. |
Bir string ifadesine karakter veya string ekleme işlemi, genellikle değişkenlerin kullanılacağı programlama uygulamalarında sık sık karşılaşılan bir durumdur. Örnek olarak, bir kullanıcının girdiği metne sonradan belirli kelime veya karakterlerin eklenebilmesi, string::append() fonksiyonunun kullanım alanlarından birkaçıdır.
Kodu Örneklendirme
append() fonksiyonu, string veri tipine karakter eklemek için kullanılan bir C++ fonksiyonudur. Fonksiyon kullanımı oldukça kolaydır ve string değişkeninin sonuna yeni bir karakter veya karakter dizisi eklenmesine izin verir.
Aşağıda, append() fonksiyonunun kullanımını gösteren bir örnek C++ kodu yer almaktadır:
```cpp#include
int main() { string isim = "Ali"; isim.append(" Yılmaz"); cout << "Merhaba " << isim << endl; return 0;}```
Yukarıdaki örnekte, append() fonksiyonu kullanılarak "Yılmaz" karakter dizisi Ali isimli string değişkenin sonuna eklenmiştir. Sonuç olarak, "Merhaba Ali Yılmaz" çıktısı alınmıştır.
Bu örnek, sadece append() fonksiyonunun nasıl kullanıldığını göstermekle kalmaz, aynı zamanda C++ dilinde string değişkenlerinin nasıl manipüle edilebileceğini de gösterir.
Örnek Uygulama
append() fonksiyonu, string ifadesine karakter eklemek için kullanılan bir C++ string fonksiyonudur. Bir örnek uygulama için, 'film adı' ve 'yönetmen adı' bilgilerinin girildiği ve sonrasında bunların birleştirildiği bir program düşünelim.
İlk olarak, programda kullanılacak C++ kodu için aşağıdaki gibi bir örnek kod yazabiliriz:
#include <iostream>#include <string>using namespace std;int main() { string film_adı, yönetmen_adı; cout << "Lütfen film adını giriniz: "; getline(cin, film_adı); cout << "Lütfen yönetmen adını giriniz: "; getline(cin, yönetmen_adı); film_adı.append(" - "); film_adı.append(yönetmen_adı); cout << "Film adı ve yönetmen: " << film_adı << endl; return 0;}
Bu kod, kullanıcının 'film adı' ve 'yönetmen adı' bilgilerini girdikten sonra, append() fonksiyonunu kullanarak bu iki bilgiyi birleştirir. Bu örnek uygulama, farklı string ifadelerinin birleştirilmesinde append() fonksiyonunun nasıl kullanılabileceğini göstermektedir.
String Manipülasyonu
String veri tipinin en önemli özelliği manipülasyon işlemlerine izin vermesidir. C++ dilinde string veri tipi için hazır fonksiyonlar sağlanmaktadır. Bu fonksiyonlar, string ifadelerini birleştirmek, ayırmak, eklemek, silmek gibi farklı manipülasyon işlemleri yapmaya olanak sağlayan fonksiyonlardır.
Örneğin, string birleştirme işlemi, farklı string ifadelerini birleştirerek yeni bir ifade oluşturmak için kullanılır. Bu işlem için append() fonksiyonu kullanılır. Öncelikle, birincil string ifadesini tanımlayarak, ikincil string ifadesini tanımlamak ve append() fonksiyonunu kullanarak birincil ifadeye ikincil ifadeyi eklemek gerekir. Bu işlem aşağıdaki gibi gerçekleştirilebilir:
Kod | Açıklama |
---|---|
string a = "Merhaba"; | Birincil ifade tanımlanıyor |
string b = "Dünya"; | İkincil ifade tanımlanıyor |
a.append(b); | Birincil ifadeye ikincil ifade ekleniyor |
cout << a << endl; | Yeni ifade ekrana yazdırılıyor |
Bu kodda, "Merhaba" ifadesine "Dünya" ifadesi append() fonksiyonu kullanılarak ekleniyor ve sonuç "MerhabaDünya" oluşuyor.
Ayırma işlemi, farklı karakterlerle ayrılmış bir string ifadesini belli bir karaktere göre ayırmak için kullanılır. Bu işlem için ise substr() fonksiyonu kullanılır. substr() fonksiyonu, bir string ifadesindeki belirli bir karakterden sonraki tüm karakterleri döndürür.
Kod | Açıklama |
---|---|
string c = "Merhaba-Dünya-Nasılsın?"; | İfade tanımlanıyor |
size_t poz = c.find("-"); | Arama işlemi yapılıyor |
string d = c.substr(poz+1); | Ayırma işlemi yapılıyor |
cout << d << endl; | Sonuç ekrana yazdırılıyor |
Bu kodda, "Merhaba-Dünya-Nasılsın?" ifadesindeki "-" karakterinden sonraki tüm karakterler alınıp "Dünya-Nasılsın?" ifadesi elde ediliyor.
Bu örnekler, C++ dilinde string veri tipi manipülasyon işlemlerinin nasıl yapılabileceğini göstermektedir.
String Birleştirme
String birleştirme, birden fazla string ifadesinin tek bir string ifadesi halinde birleştirilmesidir. Bu işlem, C++ dilinde string veri tipi için hazır fonksiyonlarla kolayca gerçekleştirilebilir.
Birleştirme işlemi, '+' operatörü kullanılarak da yapılabilir. Ancak, bu yöntem tek bir string ifadesi için kullanıldığında verimli olur. Birden fazla string ifadesini birleştirirken, 'append()' fonksiyonu tercih edilir.
'append()' fonksiyonu, mevcut bir string ifadesine diğer string ifadelerini eklemek için kullanılır. Eklenen string ifadeleri 'string' tipinde olmalıdır.
Birleştirme İşlemi | Örnek Kod |
---|---|
append() fonksiyonu kullanarak tek bir string ifadesi oluşturma | string str1 = "Merhaba "; string str2 = "Dünya!"; str1.append(str2); cout << str1; |
Bu örnek kodda, 'str1' ve 'str2' string ifadeleri append() fonksiyonuyla birleştirilerek 'Merhaba Dünya!' ifadesi oluşturulur ve ekrana yazdırılır.
Birleştirme işlemi, farklı string ifadelerini bir araya getirerek birçok uygulamada kullanılabilir. Örneğin, bir metin editöründe belirli bir metin dosyasını okurken, farklı bölümleri birleştirerek tam bir metin oluşturulabilir veya bir web sayfasında çeşitli bölümleri bir araya getirerek tam bir sayfa oluşturulabilir.
Kodu Örneklendirme
Birleştirme işlemi, string veri tipinin kullanım alanlarının başında gelir. Bu işlem, farklı string ifadelerinin tek bir ifade altında birleştirilmesine olanak sağlar. C++ dilinde, bu işlem için kullanılabilecek hazır bir fonksiyon vardır.
Birleştirme işlemi için kullanılacak fonksiyon, "concatenate" olarak adlandırılır. Bu fonksiyon, birinci string ifadeyi temsil eden değişkenin üzerine ikinci string ifadeyi temsil eden değişkeni ekler ve böylece iki ifade tek bir string ifadesinde birleşir.
Aşağıdaki C++ kodu, birleştirme işleminin nasıl yapılabileceğini örneklendirmektedir:
```cpp#include
int main() { string ad = "Ali"; string soyad = "Kaya"; string tamIsim = ad + " " + soyad; cout << "Tam isim: " << tamIsim << endl; return 0;}```
Yukarıdaki kod, "Ali" adlı birinci string ifadesi ile "Kaya" adlı ikinci string ifadesini birleştirir. Bu birleştirme işlemi, "tamIsim" adlı değişkene atanır ve ekranda "Tam isim: Ali Kaya" şeklinde gösterilir.
Birleştirme işlemi, farklı boyutlardaki string ifadeleri arasında da yapılabilir. Örneğin, bir string ifadesi ile bir karakter dizisi arasında birleştirme işlemi gerçekleştirilebilir. Bu durumda, karakter dizisi string ifadesine dönüştürüldükten sonra birleştirme işlemi yapılabilir.
Birleştirme işlemi, C++ dilinde ayrıca "+" operatörü kullanılarak da yapılabilir. Ancak, concatenate fonksiyonu kullanıldığında, birleştirme işlemi daha özelleştirilebilir hale gelir ve hata oluşma riski azalır.
Birleştirme işlemi örneklerinden biri de, kullanıcı adı ve şifreyi veritabanına kaydetmek için kullanılır. Kullanıcı adı ve şifrenin birleştirilmesi, daha sonra giriş işleminin doğrulanması için kullanılabilir.
Örnek Uygulama
Birleştirme işlemi, string ifadelerinin farklı bir değişkende birleştirilerek tek bir ifade haline getirilmesini sağlar. Örneğin, bir kullanıcının adı ve soyadı ayrı değişkenlerde tutuluyorsa, bu değişkenler birleştirilerek tam adı oluşturulabilir.
Birleştirme işlemi string veri tipinde "+" operatörü ile gerçekleştirilir. Aşağıdaki örnekte, "firstName" ve "lastName" değişkenleri kullanılarak tam ad birleştirilir.
Kod Örneği |
---|
|
Yukarıdaki kod örneği çıktı olarak "John Doe" ifadesini verir.
Birleştirme işlemi farklı programlarda çeşitli amaçlarla kullanılabilir. Örneğin, bir kullanıcının adı, soyadı, telefon numarası ve adres bilgileri ayrı değişkenlerde tutuluyorsa, bu değişkenler birleştirilerek kullanıcının tam bilgisi elde edilebilir. Ayrıca, bir metin editörü programında, kullanıcının yazdığı farklı paragraflar birleştirilerek tam bir metin oluşturulabilir.
String Ayırma
String ifadelerini belli bir karaktere göre ayırmak için kullanılan string::substr() fonksiyonu C++ dilinde mevcuttur. Bu fonksiyon ile belirlediğimiz karaktere göre orijinal string ifadesinden bir alt string oluşturabiliriz. substr() fonksiyonu iki parametre alır. İlk parametre oluşturmak istediğimiz alt string ifadesinin başlayacağı karakter indeks numarasıdır. İkinci parametre ise oluşturulacak alt string ifadesinin karakter sayısıdır.
Örneğin, "Hello World" ifadesini " " karakterine göre ayırmak istediğimizi varsayalım. Bunun için öncelikle bu karakterin konumunu bulmamız gerekir. Bu durumda, find() fonksiyonu kullanarak boşluk karakterinin bulunduğu konumu bulabiliriz. Daha sonra substr() fonksiyonunu kullanarak "Hello" ve "World" alt string ifadelerini elde edebiliriz. Bu işlemin örnek kodu şöyle olabilir:
Kod Örneği |
---|
#include <iostream>#include <string>using namespace std;int main() { string str = "Hello World"; int pos = str.find(" "); string first = str.substr(0, pos); string second = str.substr(pos + 1); cout << first << endl; cout << second << endl; return 0;} |
Yukarıdaki örnek kodda "Hello World" ifadesi öncelikle bir string değişkene atandı. Daha sonra find() fonksiyonu ile boşluk karakterinin konumu bulundu ve substr() fonksiyonu kullanılarak "Hello" ve "World" alt string ifadeleri oluşturuldu. Son olarak, cout ifadesi ile alt string ifadeleri ekrana yazdırıldı.
Bu işlemin kullanım alanlarından biri, örneğin bir metin dosyasında bulunan verileri ayırmak veya belirli bir formatta yazılmış dosyaları işlemektir. Bu sayede, dosyanın içeriğini anlamlı parçalara ayırmak daha kolay hale gelir ve işlem yapılabilir bir formatta sunulabilir.
Kodu Örneklendirme
Ayırma işlemi, string veri tipinde sıklıkla kullanılan bir manipülasyon işlemidir. Bu işlem, belirli bir karaktere göre string ifadesinin parçalara ayrılmasını sağlar. C++ dilinde ise bu işlem için kullanabileceğimiz hazır bir fonksiyon bulunmamaktadır. Bunun için aşağıdaki örnek kodu kullanabilirsiniz:
```#include
int main() { string str = "Merhaba;dünya;nasılsın"; int pos = 0; string delimiter = ";"; string token; while ((pos = str.find(delimiter)) != string::npos) { token = str.substr(0, pos); cout << token << endl; str.erase(0, pos + delimiter.length()); } cout << str << endl;
return 0;}```
Yukarıdaki örnekte, string ifadesi ";" karakterine göre parçalara ayrılmaktadır. "find()" fonksiyonu kullanılarak, belirli bir karakterin pozisyonu bulunur ve "substr()" fonksiyonu ile o pozisyondan önceki karakterler alınır. Bu işlemin ardından, "erase()" fonksiyonu ile bu karakterler orijinal string ifadesinden silinir ve işlem belirli bir karakter kalmayana kadar devam eder.
Yukarıdaki kodu kendinize örnek alarak, string ayırma işlemini C++ dilinde kullanabilirsiniz.
Örnek Uygulama
Bu örnek uygulama, kullanıcının girdiği bir string ifadesini belirli bir karaktere göre ayıran bir programdır. Kod içerisinde kullanıcının gireceği string ifadesi ve ayırıcı karakter değişken olarak tanımlanmaktadır. Program kullanıcıdan girdi alarak, ayırıcı karaktere göre string ifadesini parçalara ayırır ve her bir parçayı ayrı bir dizi elemanına atar. Daha sonra bu elemanlar ekrana yazdırılır.
Aşağıda verilen C++ kodu, programın çalışma prensibini daha iyi anlamak için fikir vermek amacıyla kullanılmıştır:
#include <iostream>using namespace std;int main() { string ifade, ayirici; cout << "Bir string ifade girin: "; getline(cin, ifade); cout << "Ayirici karakteri girin: "; cin >> ayirici;
int uzunluk = ifade.length(); string kelime = ""; int sayac = 0;
string *dizi = new string[uzunluk];
for (int i = 0; i < uzunluk; i++) { if (ifade[i] != ayirici[0]) { kelime = kelime + ifade[i]; } else { dizi[sayac] = kelime; sayac++; kelime = ""; } } dizi[sayac] = kelime;
cout << "Ayirilmis ifade: " << endl; for (int i = 0; i <= sayac; i++) { cout << dizi[i] << endl; }
return 0;}
Yukarıdaki kod çalıştırıldığında, kullanıcıya girdi yapması için istek mesajları verilir. Kullanıcı, istenilen string ifadeyi ve ayırıcı karakteri girdikten sonra program otomatik olarak çalışmaya başlar. ifade.length() fonksiyonu ile string ifadesinin uzunluğu belirlenir ve ayırma işlemi için dizi oluşturulur. for döngüsü içerisinde if bloğu ile ayırıcı karaktere kadar olan string ifadeleri kelime değişkenine eklenir. Ayırıcı karaktere ulaşıldığında, kelime değişkeni diziye atılır ve kelime sıfırlanır. Her bir eleman diziye atıldıktan sonra, dizi elemanları ekrana yazdırılır ve işlem tamamlanır.