Bu yazıda C++'da dizenin uzunluğunu bulmanın farklı yöntemlerini tartışacağız. Kodları çalıştırmak için dizüstü bilgisayarımıza “DEVC++” yazılımını yüklüyoruz. Öncelikle klavyeden “Ctrl+N” tuşlarına basarak yeni bir dosya oluşturuyoruz. Kodlamanın ardından klavyeden “F11” tuşuna basarak kodu derleyip çalıştırıyoruz.
“While” ve “For” Döngüsünü Kullanın
While döngüsünün kullanımı, farklı dizelerin uzunluğunu bulmak için kullanılan geleneksel yönteme benzer. For ve while döngüsünü kullanırken, 'counter' değişkenini 0'a ayarlıyoruz ve ardından bu sayacı verilen dizenin başından sonuna kadar (boş karakterle biten) ekliyoruz.
Bu örnekte iki döngü kullanıyoruz. Bir 'for' döngüsü ve bir 'while' döngüsü belirli bir dizenin uzunluğunu belirleyebilir. Öncelikle önişlemci direktiflerini kullanıyoruz. Bir başlık dosyası içerir. Bu programın başlangıcında kullanılır. Bu yönergeler “#” işaretiyle başlar:
#include
kullanarak ad alanı std ;
int ana ( )
{
dize dizisi = 'görsel programlama' ;
int Ben = 0 ,saymak = 0 ;
sırasında ( cadde [ Ben ] ! = ' \0 ' )
{
++ Ben ;
}
cout << 'While Döngüsü kullanılarak dizenin uzunluğu: ' << Ben << sonunda ;
için ( Ben = 0 ; cadde [ Ben ] ! = ' \0 ' ; Ben ++ )
{
saymak ++ ;
}
cout << 'For Loop kullanılarak dizenin uzunluğu: ' << saymak << sonunda ;
geri dönmek 0 ;
}
Burada #include
Şimdi “görsel programlama” dizesini alıyoruz. Bu dize için kullanılan değişken “str”dir. Ayrıca iki değişken daha alıyoruz: 'i' değişkeni ve 'count' değişkeni. Değişkeni “i” olarak tanımlıyoruz. Burada stringin uzunluğunu belirlemek için “count” isimli değişkeni kullanıyoruz. Her iki değişkeni de sıfıra başlatıyoruz. Burada while döngüsünü kullanıyoruz. Her dize “\0” ile biter ve buna kaçış dizisi denir. Bu “\0” ayırt edici bir karakter değildir. Bu doğru bir sıfır sayısıdır. While döngüsü, 'str[i]' değişkeni artık kaçış serisine eşdeğer olmayana kadar yürütülür.
Döngü sonunda tanımlanan stringin son elemanı bulunana kadar “I” değerinde 0’a bir ekleme yapılır. Bununla belirli bir dizinin uzunluğunu buluyoruz. “While döngüsü kullanılarak dizenin uzunluğu” mesajını yazdırmak için “cout” kullanırız:
Şimdi “for” döngüsünü kullanıyoruz. Burada “i=0” ifadesi “i” değişkenini 0’a başlatır. Döngüye girildiği anda başlatma yapılır. Bu döngü son karaktere ulaşılıncaya kadar yürütülür. “i++” ifadesi, döngü her yürütüldüğünde “i” değişkenini artırır. Döngüde, tanımlanan dizenin sonuna ulaşılıncaya kadar her defasında “count” değişkeni eklenir. Böylece “count” değişkeninin ve “i” değişkeninin değerini elde etmiş oluyoruz. Sonunda “for döngüsü kullanarak dizenin uzunluğu” ifadesini yazdırmak için yine “cout” kullanıyoruz.
Strlen() İşlevini Kullanın
“Cstring” bir kütüphanedir ve strlen() fonksiyonunu içerir. C++'da dize uzunluğunu elde etmek için strlen() işlevini kullanırız. Bu yerleşik bir işlevdir. C tarzı dizelerde kullanılır. Bu yerleşik işlev, tanımlanan dizenin uzunluğunu ilk karakterden sondaki boş karaktere kadar döndürür:
#include#include
kullanarak ad alanı std ;
int ana ( ) {
karakter cadde [ ] = “Badminto oynamayı seviyorum” ';
int len = strlen(str);
cout <<“' Dizenin uzunluğu : “ ' << yalnızca << endl;
}
Bu durumda öncelikle “#include
Verilen dizenin içinde 24 karakter var. Böylece 24 çıktısını elde etmiş oluyoruz. “Dizenin uzunluğu” mesajını yazdırmak için “cout” kullanıyoruz.
Str.length() Yöntemini Kullanın
Verilen dizenin uzunluğunu bulmanın başka bir yöntemi de str.length() fonksiyonunun kullanılmasıdır. Dize uzunluğunu bayt cinsinden sağlar. Bu, kesinlikle depolama kapasitesi değil, dizenin karakterlerine karşılık gelen gerçek bayt sayısıdır. Tanımlanan dizenin nesnesi, karakterlerini şifrelemek için kullanılabilecek bilgileri şifrelemeden baytları tutar. Bu nedenle, dönüş değeri, çok baytlı karakterler serisindeki şifrelenmiş karakterlerin gerçek sayısını yansıtmayabilir:
#include#include
int ana ( )
{
std :: sicim cadde ( “modern programlama dili” ) ;
std :: cout << “Dizenin uzunluğu” << cadde. uzunluk ( ) ;
geri dönmek 0 ;
}
İki başlık dosyası kullanıyoruz: “#include
Sınıfın dizeleri için her zaman uygun yöntemler kullanırız. Örneğin uzunluklarını bulmak için str.length() veya str.size() işlevini kullanırız. Std::string'in kullanımı genellikle daha kolaydır çünkü otomatik olarak bellek ayırır.
Çözüm
Bu makalede, C++'da farklı dizelerin uzunluğunu elde etmek için kullanılan çeşitli yaklaşımları açıkladık. C++ dizeleri, bitişik bellek adreslerine kaydedilen harf veya karakterlerin düzenlemeleridir. C tarzı dizelerin uzunluğunu elde etmek için strlen() yöntemini kullanırız. Dizede yapıcı onu “\ 0” ile biten C tarzı bir dizeye ayarlar. Son yöntemde yerleşik str.length() fonksiyonunu kullanıyoruz. Bu yöntemin uygulanması oldukça kolaydır çünkü sadece yerleşik işlevi çağırıp uzunluğu elde ederiz. Bu makaleyi faydalı bulduğunuzu umuyoruz. Daha fazla ipucu ve bilgi için diğer Linux İpucu makalelerine göz atın.