Biasanya kita memberi nilai dari main() pada sebuah sub-program melalui parameter, tapi bisakah kita memberi nilai pada fungsi main() itu sendiri?
Disinilah gunanya Command-line Arguments, ialah argumen(nilai) yang kita beri melalui sistem operasi seperti Linux ke sebuah program.
Pertama-tama kita harus mengetahui dulu deklarasi parameter pada fungsi main(). Biasanya kita menulis seperti ini.
int main() { }
int main(int argc, char* argv[]) { }
#include <stdio.h> int main(int argc, char* argv[]) { for (int i = 0; i < argc; i++) { printf("argv[%d]: %s\n", i, argv[i]); } return 0; }
Program tersebut kita compile melalui terminal(ingat? Pemrograman C di Linux), lalu kemudian di-eksekusi seperti biasa dengan command ini.
./nama_programMisalnya saya menamai file program tersebut cmdline.c, maka di-eksekusi seperti ini.
./cmdlineDan outputnya akan seperti ini.
Misal saya beri nilai pada saat eksekusi melalui terminal seperti ini.
./cmdline azhary arliansyahMaka outputnya akan seperti ini.
Bisa kita analisis, nilai variabel argc adalah jumlah kata yang kita ketik pada terminal(dalam hal ini 3, yaitu ./cmdline, azhary, arliansyah). Lalu kata(string) tersebut disimpan pada variabel array argv.
Sekian, semoga bermanfaat !
Post a Comment