1. Duyuruyu Kapat

C++ Dersleri - 17)STRİNGLER [ÇEVİRİ]

'C/C++' forumunda Hattab tarafından 10 Şubat 2016 tarihinde açılan konu

  1. Hattab

    Hattab New Member

    Katılım:
    22 Ekim 2015
    Mesaj:
    550
    Beğeniler:
    4
    Ödül Puanları:
    0
    C++ aşağıda belirtilen 2 farklı string tipini destekler:

    -C stili character stringi
    -Standart C++ kütüphanesiyle gelen string sınıfı

    C Stili Character Stringi

    C dili temellidir.Bu string aslında bir boyutlu karakter arrayıdır.Ve arrayın son değeri '\0' olmalıdır.
    Aşağıdaki örnekte bir "Hello" stringi tanımlanmıştır:
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    Eğer yukarıdaki kodu aşağıdaki şekilde yazarsanız da aynı şeyi ifade eder:

    char[] = "Hello";

    Bununla ilgili bir fotoğraf paylaşmak anlamaya daha yardımcı olacaktır.
    [​IMG] Bu resim yeniden boyutlandırılmıştır, tam halini görmek için tıklayınız.
    [​IMG]


    Aslında arrayın sonuna null karakteri koymanıza gerek yoktur.Derleyici otomatik olarak kendisi bu eksikliği giderir.Aşağıda bir örnek verilmiştir:

    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;

    int main ()
    {
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

    cout << "Greeting message: ";
    cout << greeting << endl;

    return 0;
    }

    Yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu vermesi gerekir:
    Greeting message: Hello

    C++ , boş sonlandırılmış stringleri manipüle eden fonksiyonları büyük alanda destekler:

    S.N. Fonksiyon Amacı
    1 strcpy(s1, s2); s2'yi s1'e kopyalar.

    2 strcat(s1, s2); s2'yi s1'in sonuna ekler.

    3 strlen(s1); s1'in uzunluğunu döndürür.

    4 strcmp(s1, s2); s1 ve s2 eşitse 0 ; s1<s2 ise negatif; s1>s2 ise pozisitf değer döndürür.
    5 strchr(s1, ch); s1'in pointiri olarak ch'yi döndürür.
    6 strstr(s1, s2); s1'deki s2'nin pointerini döndürür.

    Aşağıda bu konuda bir kaç örnek verilmiştir:

    [HASHTAG]#include[/HASHTAG] <iostream>
    [HASHTAG]#include[/HASHTAG] <cstring>

    using namespace std;

    int main ()
    {
    char str1[10] = "Hello";
    char str2[10] = "World";
    char str3[10];
    int len ;

    // copy str1 into str3
    strcpy( str3, str1);
    cout << "strcpy( str3, str1) : " << str3 << endl;

    // concatenates str1 and str2
    strcat( str1, str2);
    cout << "strcat( str1, str2): " << str1 << endl;

    // total lenghth of str1 after concatenation
    len = strlen(str1);
    cout << "strlen(str1) : " << len << endl;

    return 0;
    }

    Yukardaki kodun çıktısı şu şekildedir:
    strcpy( str3, str1) : Hello
    strcat( str1, str2): HelloWorld
    strlen(str1) : 10

    C++'da String Sınıfı

    Standart C++ kütüphanesi yukarda açıklanan tüm işlemleri destekleyen bir sınıfa sahiptir.Aşağıda bu sınıfı kullanarak örnekler yapacağız.Bu noktada, belki henüz bazı yerleri anlamayabilirsiniz, çünkü henüz sınıfların ve objelerin ne olduğunu henüz konuşmadık.Aşağıdaki kodlara, object oriented konseptini anlayana kadar bakın:

    [HASHTAG]#include[/HASHTAG] <iostream>
    [HASHTAG]#include[/HASHTAG] <string>

    using namespace std;

    int main ()
    {
    string str1 = "Hello";
    string str2 = "World";
    string str3;
    int len ;

    // copy str1 into str3
    str3 = str1;
    cout << "str3 : " << str3 << endl;

    // concatenates str1 and str2
    str3 = str1 + str2;
    cout << "str1 + str2 : " << str3 << endl;

    // total lenghth of str3 after concatenation
    len = str3.size();
    cout << "str3.size() : " << len << endl;

    return 0;
    }

    Yukardaki kodun çıktısı şu şekildedir:
    str3 : Hello
    str1 + str2 : HelloWorld
    str3.size() : 10

    Not:Bu dersten sonra biraz daha ileri düzey konulara geçmeye başlıyoruz.Bir sonraki ders Pointerlar.

    Alıntıdır.
     

Bu Sayfayı Paylaş

Share