C ++ scanf - Perpustakaan Standard C ++

Fungsi scanf () dalam C ++ digunakan untuk membaca data dari stdin.

prototaip scanf ()

 int scanf (format const * format,…);

Yang scanf()fungsi membaca data dari stdindan kedai nilai ke dalam pembolehubah masing-masing.

Ia ditakrifkan dalam fail tajuk.

scanf () Parameter

  • format: Penunjuk ke rentetan aksara yang diakhiri nol yang menentukan cara membaca input. Ia terdiri daripada penentu format bermula dengan%.

    String format mempunyai bahagian-bahagian berikut:

    • Non whitespace characterskecuali% yang masing-masing menggunakan satu watak yang sama dari aliran input. Ia boleh menyebabkan fungsi gagal jika watak seterusnya dalam aliran tidak membandingkan sama.
    • Whitespace character: Semua watak ruang kosong berturut-turut dianggap sebagai watak ruang kosong tunggal. Selanjutnya, ' n', ' t' dan '' dianggap sama.
    • Conversion specification: Ia mengikuti format berikut:
      • Karakter% awal yang menentukan permulaan
      • Pilihan * dipanggil watak penekan tugas. Sekiranya watak ini ada, scanf () tidak memberikan hasilnya kepada argumen yang diterima.
      • Nombor integer positif pilihan yang menentukan lebar medan maksimum. Ini menentukan jumlah maksimum karakter yang dibenarkan oleh scanf () semasa melakukan penukaran yang ditentukan oleh spesifikasi penukaran semasa.
      • Pengubah panjang pilihan yang menentukan ukuran argumen penerimaan.
      • Penentu format penukaran.
        Penentu Format Penerangan
        % Memadankan% literal
        c Memadankan satu watak atau beberapa watak. Sekiranya lebar ditentukan, sepadan dengan aksara lebar yang tepat.
        s Memadankan watak tanpa ruang kosong berturut-turut. Sekiranya lebar ditentukan, sepadan dengan aksara lebar tepat atau sehingga ruang kosong pertama dijumpai.
        (set) Memadankan urutan watak yang tidak kosong dari kumpulan watak yang diberikan. Sekiranya hadir pada awal set, maka semua watak yang tidak ada dalam set dipadankan.
        d Memadankan nombor bulat perpuluhan.
        i Memadankan bilangan bulat.
        o Memadankan bilangan bulat oktal yang tidak bertanda.
        X atau x Memadankan bilangan bulat heksadesimal yang tidak ditandatangani.
        awak Memadankan dengan bilangan bulat perpuluhan yang tidak bertanda.
        A atau a, E atau e, F atau f, G atau g Memadankan nombor titik terapung.
        n Mengembalikan jumlah watak yang dibaca setakat ini.
        hlm Memadankan urutan watak yang ditentukan pelaksanaan yang menentukan penunjuk.
    Jadi format umum penentu format adalah: %(*)(width)(length)specifier
  • …: Argumen tambahan lain untuk menerima data. Mereka berlaku mengikut urutan mengikut penentu format.

scanf () Nilai pulangan

  • Sekiranya berjaya, scanf()fungsi mengembalikan bilangan argumen penerimaan yang berjaya diberikan.
  • Sekiranya kegagalan pemadanan berlaku sebelum argumen penerimaan pertama diberikan, mengembalikan sifar.
  • Sekiranya kegagalan input berlaku sebelum argumen penerimaan pertama diberikan, EOF dikembalikan.

Contoh: Bagaimana fungsi scanf () berfungsi

 #include int main () ( FILE *fp; char name(50); int age; fp = fopen("example.txt","w"); fprintf(fp, "%s %d", "Tim", 31); fclose(fp); fp = fopen("example.txt","r"); scanf(fp, "%s %d", name, &age); fclose(fp); printf("Hello %s, You are %d years old", name, age); return 0; )

Semasa anda menjalankan program, output yang mungkin adalah:

 Hello Tim, Anda berumur 31 tahun

Artikel menarik...