C ++ sscanf () - C ++ Standart Kitaplığı

C ++ 'daki sscanf () işlevi, dizge arabelleğinden verileri okumak için kullanılır.

sscanf () prototipi

 int sscanf (const char * buffer, const char * format,…);

sscanf()Fonksiyon verileri ilgili değişkenleri tampon saklar değerleri verileri okur okur.

Başlık dosyasında tanımlanmıştır.

sscanf () Parametreleri

  • buffer: Verilerin okunacağı boş sonlu bir karakter dizesine işaretçi.
  • format: Girişin nasıl okunacağını belirten boş sonlu bir karakter dizesinin işaretçisi. % İle başlayan biçim belirleyicilerinden oluşur.

    Biçim dizesi aşağıdaki bölümlerden oluşur:

    • Non whitespace charactersher biri giriş akışından bir özdeş karakter tüketen% dışında. Akıştaki bir sonraki karakter eşit değilse, işlevin başarısız olmasına neden olabilir.
    • Whitespace character: Art arda gelen tüm boşluk karakterleri, tek bir boşluk karakteri olarak değerlendirilir. Ayrıca, ' n', ' t' ve '' aynı kabul edilir.
    • Conversion specification: Aşağıdaki biçimi izler:
      • Başlangıcı belirten ilk% karakteri
      • İsteğe bağlı * adı verilen atama bastırma karakteri. Bu karakter mevcutsa, fscanf () sonucu herhangi bir alma bağımsız değişkenine atamaz.
      • Maksimum alan genişliğini belirten isteğe bağlı bir pozitif tam sayı. Mevcut dönüştürme belirtimi tarafından belirtilen dönüştürmeyi yaparken fscanf () 'ın kullanmasına izin verilen maksimum karakter sayısını belirtir.
      • Alıcı bağımsız değişkenin boyutunu belirten isteğe bağlı bir uzunluk değiştirici.
      • Bir dönüştürme biçimi belirleyicisi.
        Biçim Tanımlayıcısı Açıklama
        % Değişmez% ile eşleşir
        c Tek bir karakterle veya birden çok karakterle eşleşir. Genişlik tanımlanmışsa, tam olarak genişlik karakterleriyle eşleşir.
        s Ardışık boşluk olmayan karakterlerle eşleşir. Genişlik tanımlanmışsa, tam olarak genişlik karakterleriyle eşleşir veya ilk boşluk bulunana kadar.
        (Ayarlamak) Verilen karakter kümesinden boş olmayan bir karakter dizisiyle eşleşir. Kümenin başında varsa, kümede olmayan tüm karakterler eşleştirilir.
        d Ondalık bir tamsayı ile eşleşir.
        ben Bir tamsayı ile eşleşir.
        Ö İşaretsiz sekizlik bir tamsayı ile eşleşir.
        X veya x İşaretsiz bir onaltılık tamsayı ile eşleşir.
        sen İşaretsiz bir ondalık tamsayı ile eşleşir.
        A veya a, E veya e, F veya f, G veya g Bir kayan noktalı sayıyla eşleşir.
        n O ana kadar okunan karakter sayısını döndürür.
        p Bir işaretçi tanımlayan bir uygulama tanımlı karakter dizisi ile eşleşir.
    Dolayısıyla, biçim belirticisinin genel biçimi şöyledir: %(*)(width)(length)specifier
  • …: Veri almak için diğer ek argümanlar. Biçim tanımlayıcısına göre bir sırayla oluşurlar.

sscanf () Dönüş değeri

  • Başarılı olursa, sscanf()işlev başarıyla atanan alma bağımsız değişkenlerinin sayısını döndürür.
  • İlk alma bağımsız değişkeni atanmadan önce bir eşleşme hatası oluşursa, sıfır döndürür.
  • İlk alma bağımsız değişkeni atanmadan önce giriş hatası oluşursa, EOF döndürülür.

Örnek: sscanf () işlevi nasıl çalışır?

 #include int main () ( char fname(50), lname(50); char buffer() = "Dennis Ritchie"; sscanf(buffer, "%s %s", fname, lname); printf("First name : %s Last name : %s", fname, lname); return 0; )

Programı çalıştırdığınızda, olası bir çıktı:

 Adı: Dennis Soyadı: Ritchie

Ilginç makaleler...