Dalam pemrograman C++, untuk input / output kita bisa menggunakan perpustakaan iostream ataupun dengan stdio.h. Pada umumnya, banyak pengguna dalam pemrograman C maupun C++ menggunakan library atau perpustakaan iostream karena kemudahan dalam penggunaannya. Contohnya dalam kasus untuk output ke layar cukup dengan perintah :
cout<<"[string message]";
Dan untuk input kita cukup dengan perintah :
cin>>var;
Tetapi dalam kasus penggunaan stdio.h, kita tidak bisa seperti itu. Fungsinya pada intinya sama, yaitu untuk input-output. Namun, berbeda implementasinya dalam coding.
Untuk menampilkan sesuatu ke layar, dalam library stdio.h kita menggunakan perintah :
printf("[string message]");
Lalu apa bedanya? Teu aya! Kata orang Sunda 😁
Cuma penulisan saja yang berbeda, fungsinya sama. Tetapi lain dengan inputnya, ada fungsi tambahan yaitu dengan perintah scanf(). Format sintaksis dasar untuk perintah ini adalah :
scanf(const char* format, ...);
Masing-masing parameter itu memiliki fungsi masing-masing :
- const char* format : penunjuk ke string C yang menunjukkan cara membaca input. Ini terdiri dari format yang dimulai dengan %.
- ... : argumen tambahan lainnya yang menentukan data yang akan dicetak. Dilakukan secara berurutan sesuai dengan penentu format.
The format parameter of scanf() can contain format specifiers that begin with %. The format string has the following parts:
- Non whitespace characters except % each of which consumes one identical character from the input stream. It can cause the function to fail if the next character on the stream does not compare equal.
- Whitespace character - All the consecutive whitespace characters are treated as a single whitespace character. Further, '\n', '\t' and ' ' are considered the same.
- Conversion specification - It follows the following format:
- Initial % character that specifies the beginning.
- An optional * called assignment-suppression character. If this character is present, scanf() does not assign the result to any receiving argument.
- width - an optional positive integer number that specifies maximum field width. It specifies the maximum number of characters that scanf() is allowed to consume when doing the conversion specified by the current conversion specification.
- length - an optional length modifier specifying the size of the receiving argument.
- specifier - a conversion format specifier.
- ... - other additional arguments for receiving data. They occur in a sequence according to the format specifier.
Nah, kelihatan ribet bukan? Tapi pada intinya tidak kok. Stw gaes 😎
Langsung saja ke contoh untuk penggunaan printf() dan scanf() berikut :
#include<stdio.h>
using namespace std;
int main() {
int i; // deklarasi variabel dengan tipe data integer
printf("Inputkan sebuah nilai : "); //output ke layar
scanf("%d", &i); // perintah untuk input data
}
NB : Nama file yang dibuat ini io.cpp
Coba kita jalankan dengan perintah gcc ataupun dengan g++.
[]> gcc io.cpp -o io [ Enter ]
Di bagian ini, kita bisa input sebuah value, baik integer maupun berupa char / string. Tetapi karena deklarasi kita int i maka value akan diproses ketika bertipe number / integer.
Tags:
CPP