Kebanyakan para pengembang telah mengetahui fungsi utama dari scanf. Berikut akan diberikan beberapa info tambahan yang perlu diketahui.
Bagaimana cara membuat read only menjadi bagian dari input yang dibutuhkan pada sebuah program? contoh, pertimbangkan beberapa input stream yang mengandung hanya karakter dan diikuti olen integer atau float. Dan yang dibutuhkan hanya scan only untuk integer atau float seperti contoh berikut ini:
Input: “this is the value 100”,
Output: value read is 100
Input : “this is the value 21.2”,
Output : value read is 21.2
Sekarang diasumsikan bahwa tidak diketahui karakter apakah yang mendahuluinya tetapi, dapat diketahui secara pasti bahwa nilai terakhir yang diketahui adalah integer. Bagaimana cara untuk melakukan scan nilai terakhir sebagai nilai integer?
Berikut solusi yang hanya dapat bekerja jika input string tidak memiliki spasi.
Penjelasan: %*s pada scanf digunakan untuk mengabaikan beberapa input yang diperlukan. Pada kondisi ini akan mengabaikan input sampai spasi selanjutnya atau baris baru. Sama seperti jika mengetik %*d, maka akan diabaikan nilai integer-nya sampai spasi selanjutnya atau baris baru.
Fakta tersebut mungkin terlihat seperti cara yang tidak terlalu berguna, namun untuk memahami kegunaannya, perhatikan fungsi fscanf() berikut ini.
fscanf(): Jika terlalu banyak menggunakan sintak seperti contoh sebelumnya, maka dapat digunakan pendekatan lain dengan menggunakan fscanf().
int fscanf(FILE *ptr, const char *format, ...)
fscanf menbaca dari sebuah file yang ditunjuk oleh FILE pointer (ptr), ketimbang membaca langsung dari input stream.
Perhatikan teks file abc.txt
NAME AGE CITY
abc 12 hyderbad
bef 25 delhi
cce 65 bangalore
Sekarang akan dilakukan read only city field dari teks file sebelumnya, mengacuhkan semua field yang lain.
Output:
CITY
hyderbad
delhi
bangalore
Bagaimana cara membuat read only menjadi bagian dari input yang dibutuhkan pada sebuah program? contoh, pertimbangkan beberapa input stream yang mengandung hanya karakter dan diikuti olen integer atau float. Dan yang dibutuhkan hanya scan only untuk integer atau float seperti contoh berikut ini:
Input: “this is the value 100”,
Output: value read is 100
Input : “this is the value 21.2”,
Output : value read is 21.2
Sekarang diasumsikan bahwa tidak diketahui karakter apakah yang mendahuluinya tetapi, dapat diketahui secara pasti bahwa nilai terakhir yang diketahui adalah integer. Bagaimana cara untuk melakukan scan nilai terakhir sebagai nilai integer?
Berikut solusi yang hanya dapat bekerja jika input string tidak memiliki spasi.
Penjelasan: %*s pada scanf digunakan untuk mengabaikan beberapa input yang diperlukan. Pada kondisi ini akan mengabaikan input sampai spasi selanjutnya atau baris baru. Sama seperti jika mengetik %*d, maka akan diabaikan nilai integer-nya sampai spasi selanjutnya atau baris baru.
Fakta tersebut mungkin terlihat seperti cara yang tidak terlalu berguna, namun untuk memahami kegunaannya, perhatikan fungsi fscanf() berikut ini.
fscanf(): Jika terlalu banyak menggunakan sintak seperti contoh sebelumnya, maka dapat digunakan pendekatan lain dengan menggunakan fscanf().
int fscanf(FILE *ptr, const char *format, ...)
fscanf menbaca dari sebuah file yang ditunjuk oleh FILE pointer (ptr), ketimbang membaca langsung dari input stream.
Perhatikan teks file abc.txt
NAME AGE CITY
abc 12 hyderbad
bef 25 delhi
cce 65 bangalore
Sekarang akan dilakukan read only city field dari teks file sebelumnya, mengacuhkan semua field yang lain.
Output:
CITY
hyderbad
delhi
bangalore
Tidak ada komentar:
Posting Komentar
Respon komentar 7 x 24 jam, so please be patient :D