Bir C++ Dizesi Boşsa Nasıl Tespit Edilir

Bir C Dizesi Bossa Nasil Tespit Edilir



C++ programlamada, metin verilerini yönetmek ve değiştirmek, yazılım geliştirmenin temel bir yönüdür. Karakter dizileri olarak görev yapan dizeler, metinsel verilerin yönetilmesinde çok önemlidir. Programcıların sıklıkla karşılaştığı yaygın senaryolardan biri, C++ dizesinin boş olup olmadığını belirleme ihtiyacıdır. İçinde karakter bulunmayan bir dizeye boş dize denir. Neyse ki C++, bir dizenin boşluğunu tespit etmek için standart kütüphanesinde basit yöntemler sunar. Bu makale, bir C++ dizesinin boş olup olmadığını algılamak için kullanılan yöntem ve teknikleri araştırarak programlarınızdaki dize verilerini işlemek ve doğrulamak için bir temel sağlar.

Yöntem 1: Empty() Üye İşlevini Kullanma

C++'ta bir dizenin boş olup olmadığını belirlemeye yönelik basit ve yerleşik bir yaklaşım, 'empty()' üye işlevinin kullanılmasını içerir. “empty()” işlevi standart C++ dize sınıfının bir parçasıdır ve bir dizede karakter olup olmadığını kontrol etmenin kolay bir yolunu sağlar.

İşte empty() fonksiyonunun kullanımını gösteren basit bir örnek:







#include
#include
kullanarak ad alanı std ;

int ana ( ) {

dize boşStr ;

eğer ( boşStr. boş ( ) ) {
cout << 'Dize boş.' << sonunda ;
} başka {
cout << 'Dize boş değil.' << sonunda ;
}

geri dönmek 0 ;
}

Bu C++ kod parçacığında, sırasıyla giriş ve çıkış işlemlerini kolaylaştırmak ve dizelerle çalışmak için ve gibi gerekli başlık dosyalarını ekleyerek başlıyoruz. “main()” fonksiyonu içerisinde “emptyStr” adında bir string değişkeni bildiriyoruz. Bu dize başlangıçta herhangi bir karakter olmadan boştur. Daha sonra C++ “string” sınıfının sağladığı “empty()” üye fonksiyonunu kullanıyoruz. Adından da anlaşılacağı gibi “empty()” fonksiyonu çağrıldığı stringin boş olup olmadığını kontrol eder.



Bizim durumumuzda bu fonksiyonu “emptyStr” stringi üzerinden çağırıyoruz. Bunu takiben “empty()” fonksiyonu tarafından döndürülen Boolean sonucunu değerlendirmek için bir koşullu ifade kullanırız. Eğer dize gerçekten boşsa, programımız dizenin boş olduğunu belirten bir mesaj verir. Öte yandan, eğer dizge karakter içeriyorsa program, dizgenin boş olmadığını belirten bir mesaj verir.



Sağlanan C++ kodunun çıktısı aşağıdaki gibidir:





Yöntem 2: Size() Üye İşlevini Kullanma

Bir C++ dizesinin boş olup olmadığını tespit etmeye yönelik başka bir yaklaşım, 'string' sınıfı tarafından sağlanan 'size()' üye işlevinin kullanılmasını içerir. Doğrudan boşluğu belirten bir Boole değeri döndüren 'empty()' işlevinden farklı olarak, 'size()' dizede bulunan karakterlerin sayısını döndürür. Boşluğu kontrol etmek için, boş bir dize sıfır boyuta sahip olduğundan 'size()' sonucunu sıfırla karşılaştırırız.



İşte bir örnek:

#include
#include
kullanarak ad alanı std ;

int ana ( ) {

dize myEmptyString ;

eğer ( myEmptyString. boyut ( ) == 0 ) {
cout << 'Sağlanan dize boş.' << sonunda ;
} başka {
cout << 'Sağlanan dize boş değil.' << sonunda ;
}

geri dönmek 0 ;
}

Bu örnekte, “myEmptyString” adlı bir dize değişkenini, onu başlatmadan bildirerek başlıyoruz ve onu varsayılan olarak boş bırakıyoruz. İleriye doğru giderek, 'myEmptyString' dizesindeki karakterlerin boyutunu veya sayısını belirlemek için 'size()' işlevini çağırıyoruz. “İf” ifadesi, boyutun sıfıra eşit olup olmadığını değerlendirir, bu da dizenin boş olduğunu gösterir. Bu koşul karşılanırsa, konsola sağlanan dizenin boş olduğunu belirten bir mesaj göndeririz. Tersine, boyut sıfırdan farklıysa, kontrol akışı 'else' bloğuna kayar ve sağlanan dizenin boş olmadığını doğrulayan farklı bir mesaj görüntülenir.

Yöntem 3: Boş Dize Değişmeziyle Karşılaştırma Kullanma

Bir C++ dizesinin boş olup olmadığını belirlemeye yönelik ek bir teknik, boş bir dize değişmez değeriyle doğrudan karşılaştırmayı içerir. Boş bir dize değişmezi, aralarında '' gibi karakterlerin bulunmadığı bir çift çift tırnak işaretiyle temsil edilir. Belirli bir dizeyi bu boş dize değişmez değeriyle karşılaştırarak dizenin herhangi bir karakter içerip içermediğini tespit edebiliriz.

İşte bu yaklaşımı gösteren bir örnek:

#include
#include
kullanarak ad alanı std ;

int ana ( )
{
dize kullanıcı adı ;

cout <> Kullanıcı adı ;

eğer ( Kullanıcı adı == '' )
{
cout << 'Hata: Kullanıcı adı boş olamaz.' << sonunda ;
}
başka
{
cout << 'Merhaba, ' << Kullanıcı adı << '! Platformumuza hoş geldiniz.' << sonunda ;
}

geri dönmek 0 ;
}

Bu durumda kullanıcıdan kullanıcı adını girmesini isteyen bir uygulama başlatıyoruz. Program, kullanıcının girişini depolamak için “kullanıcı adı” adlı bir dize değişkeni bildirerek başlar. Daha sonra kullanıcıya 'Kullanıcı adınızı girin:' mesajı sorulur ve girişi 'cin' akışı kullanılarak yakalanır. Program daha sonra girilen kullanıcı adının boş olup olmadığını kontrol etmek için bir koşullu ifade kullanır; bu, eşitlik operatörünü (==) kullanarak onu doğrudan boş bir dize değişmezi ile karşılaştırarak elde edilir. Kullanıcı adının boş olduğu tespit edilirse program, 'Hata: Kullanıcı adı boş olamaz' şeklinde bir hata mesajı verir. Ancak, kullanıcı adı boş değilse, program, girilen kullanıcı adını 'Merhaba, [kullanıcı adı]! Platformumuza hoş geldiniz' selamlaması ile birleştiren kişiselleştirilmiş bir karşılama mesajı görüntüler.

Herhangi bir kullanıcı adı vermediğimiz çıktı:

Kullanıcı adı sağlandığında çıktı aşağıdaki gibidir:

Yöntem 4: Üçlü Operatör Kullanma

Üçlü operatör, koşullu bir ifadeyi tek bir satırda kısaca ifade eder, bu da kodu daha kompakt hale getirir. Üçlü operatör, dizenin boş olup olmadığını görmek için koşulu değerlendirdikten sonra iki değerden birini döndürür. Bu durumda, boşluğu kontrol etmek için 'empty()' üye fonksiyonunu kullanabiliriz ve ilgili mesajı atamak için üçlü operatörü kullanabiliriz.

İşte açıklayıcı bir örnek:

#include
#include
kullanarak ad alanı std ;

int ana ( ) {
dize örneğiDize = 'Selam Dünya!' ;

cout << 'Dize' << ( sampleString. boş ( ) ? 'boş.' : 'boş değil.' ) << sonunda ;

geri dönmek 0 ;
}

Daha sonra “sampleString” adında bir string değişkeni deklare ediyoruz ve onu 'Merhaba Dünya!' ile başlatıyoruz. içerik. Dizenin boş olup olmadığını belirlemek için “cout” ifadesi içinde üçlü bir operatör kullanıyoruz. Üçlü operatör, 'sampleString.empty()' koşulunu değerlendirerek dizenin boş olup olmadığını kontrol eder ve koşul doğruysa karşılık gelen 'Dize boş' mesajını, koşul doğruysa 'Dize boş değil' mesajını yazdırır. YANLIŞ. Program, başarılı bir çalışmayı ifade eden 0 değerini döndürerek sona erer. Bu programın yürütülmesi aşağıdaki çıktıyı üretir:

Çözüm

Bir C++ dizesinin boş olup olmadığının algılanması, dize manipülasyonu ve işlenmesi için temeldir. Bu yazıda her birinin kendine göre avantajları olan çeşitli yöntemleri inceledik. “empty()” üye işlevi, bir dizenin boşluğunu açıkça belirten en doğrudan ve en yaygın kullanılan işlevdir. “size()” kullanmak dizenin uzunluğunu kontrol ederek alternatif bir yaklaşım sunar. Boş bir dize değişmez değeriyle karşılaştırma basit ve sezgiseldir; üçlü operatörler ise kontrolün daha karmaşık bir mantığa entegre edilmesinde esneklik sağlar. Doğru yaklaşımı seçerken programın özel ihtiyaçları dikkate alınmalıdır.