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

C ++ 'daki fwscanf () işlevi, dosya akışından geniş karakteri okur.

Fwscanf () işlevi başlık dosyasında tanımlanmıştır.

fwscanf () prototipi

 int fwscanf (FILE * akım, const wchar_t * biçimi,…);

Fwscanf () işlevi, verileri dosya akışından okur ve değerleri ilgili değişkenlere kaydeder.

fwscanf () Parametreler

  • stream: Verilerin okunacağı giriş dosyası akışı.
  • format: Girişin nasıl okunacağını belirten boş sonlu bir karakter dizesine işaretçi. % İle başlayan biçim belirleyicilerinden oluşur.
    Biçim dizesi aşağıdaki bölümlerden oluşur:
    • Her biri giriş akışından bir özdeş karakter tüketen% dışında boşluk olmayan karakterler. Akıştaki bir sonraki karakter eşit değilse, işlevin başarısız olmasına neden olabilir.
    • Boşluk karakteri: Art arda gelen tüm boşluk karakterleri, tek boşluk karakteri olarak değerlendirilir. Ayrıca, ' n', ' t' ve '' aynı kabul edilir.
    • Dönüştürme özelliği: Aşağıdaki biçimi izler:
      • Başlangıcı belirten ilk% karakteri
      • İsteğe bağlı * adı verilen atama bastırma karakteri. Bu karakter varsa, fwscanf () sonucu herhangi bir alan bağımsız değişkene atamaz.
      • Maksimum alan genişliğini belirten isteğe bağlı bir pozitif tam sayı. Mevcut dönüştürme belirtimiyle belirtilen dönüştürmeyi yaparken fwscanf () 'ı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 belirleyicileri
    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:
     % (*) (genişlik) (uzunluk) belirleyicisi
  • …: Veri almak için diğer ek argümanlar. Biçim tanımlayıcısına göre bir sırayla oluşurlar.

fwscanf () Dönüş değeri

  • Fwscanf () işlevi, 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 hata oluşursa, EOF döndürülür.

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

 #include #include #include #include int main() ( FILE *fp = fopen("example.txt","w+"); wchar_t str(10), ch; setlocale(LC_ALL, "en_US.UTF-8"); fwprintf(fp, L"%ls %lc", L"Summation", L'u2211'); fwprintf(fp, L"%ls %lc", L"Integral", L'u222b'); rewind(fp); while((fwscanf(fp, L"%ls %lc", str, &ch))!=EOF) ( wprintf(L"%lc is %ls", ch, str); ) fclose(fp); return 0; )

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

 ∑ Toplamadır ∫ Integraldir

Ilginç makaleler...