Senin, 07 November 2011

0

[C] Teknik Membaca Satu Baris String Secara Keseluruhan

  • Senin, 07 November 2011
  • Nurkholish Ardi Firdaus
  • Share
  • Dalam bahasa C, scanf() merupakan fungsi yang bisa kita gunakan untuk meminta input dari user yang selanjutnya data input tadi akan kita olah secara lebih lanjut dalam progran kita. Data bisa berupa angka maupun karakter, kita bisa memanggil fungsi scanf() seperti ini: scanf("%s",array_char);  jika kita meminta user untuk mengimput data berupa kata. Namun ketika datanya berupa kalimat yang dipisahkan oleh spasi maka scanf() hanya akan membaca 1 kata pertama sebelum spasi, sebut saja user memasukkan input kata berupa "Aku Seorang Kapiten", maka scanf() hanya akan membaca kata "Aku" sedangkan sisanya akan diabaikan. Ini sesuai konsep bahwa dalam bahasa C, whitespace (spasi) adalah penanda akhir inputan. Jadi kita terkendala dengan karakter spasinya yang oleh compiler dibaca sebagai akhir kata. Lalu bagaimana solusinya? Banyak sekali solusi yang bisa kita gunakkan, salah satunya adalah menggunakan ekspresi reguler (regular expression), sintaks pemanggilan fungsi scanf() menjadi seperti ini: scanf("%[^\n]s",array_char); arti dari panggilan fungsi scanf() ini menjadi: "Baca semua karakter kecuali \n" dimana "\n" adalah salah satu backslash character constant yang artinya adalah newline (garis baru), jadi arti keseluruhannya adalah "Baca semua karakter hingga baris baru tercipta", baris baru tercipta ketika user menekan enter yang berarti berganti baris ("\n"). Marilah kita praktikkan secara langsung lewat source code dibawah ini:


    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char nama_lengkap[50];
        scanf("%50[^n]s",nama_lengkap);
        printf("Nama Lengap Anda: %-50s",nama_lengkap);
    }
    Oke, sekian postingan kali ini. Semoga bermanfaat :)
    Jangan Lupa Komentar Yaa..
    Related Posts Plugin for WordPress, Blogger...

    0 Komentar Untuk “[C] Teknik Membaca Satu Baris String Secara Keseluruhan”

    Posting Komentar

    Berikan komentar positif tentang artikel yang sederhana ini niscaya sobat akan mendapatkan balasannya. Hehehe

    Subscribe